A comprehensive, community-driven documentation platform providing standardized best practices, coding guidelines, and production-ready patterns for modern web and mobile development.
GDG Docs is an open-source initiative by GDG Algiers that provides high-quality, standardized documentation for developers. Our goal is to create a centralized knowledge hub covering best practices, common pitfalls, and practical workflows for the technologies we use every day.
- Frontend Development: React.js with comprehensive guides on state management, routing, API integration, authentication, and deployment
- Backend Development: Express.js covering API design, database integration, middleware patterns, error handling, and security
- Mobile Development: Flutter with architecture patterns, state management, and platform-specific guidance
- Development Workflows: GitHub collaboration, commit conventions, code review practices, and project management
Our documentation emphasizes:
- Production-Ready Patterns: Real-world code examples you can trust
- Standardized Best Practices: Consistent approaches across all guides
- Common Pitfalls: Issues developers face and how to avoid them
- Complete Workflows: End-to-end guides from backend to frontend
- Beginner to Advanced: Content for all experience levels
- Node.js 18+ and npm/yarn/pnpm
- Git
# Clone the repository
git clone https://github.com/GDGAlgiers/gdg-docs.git
cd gdg-docs
# Install dependencies
npm install
# Start the development server
npm run dev
The site will be available at http://localhost:4321
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build locally
We welcome contributions from developers of all skill levels! Whether you want to:
- Fix typos or improve existing documentation
- Add new guides or expand current topics
- Suggest improvements or report issues
- Share your expertise on a specific technology
Please read our Contributing Guide for detailed instructions on:
- How to set up your development environment
- Our pull request process
- Documentation standards and writing guidelines
- Code example best practices
- Fork the repository
- Create a feature branch:
git checkout -b topic/feature
- Make your changes and commit:
git commit -m 'Add: feature description'
- Push to your fork:
git push origin topic/feature
- Open a Pull Request
gdg-docs/
├── src/
│ ├── content/
│ │ ├── docs/ # Main documentation files
│ │ │ ├── overview/
│ │ │ ├── code-guidelines/
│ │ │ ├── react/
│ │ │ ├── express/
│ │ │ ├── flutter/
│ │ │ ├── github/
│ │ │ └── workflows/
│ │ └── config.ts # Content collection config
│ ├── assets/ # Images and static assets
│ └── tailwind.css # Global styles
├── public/ # Public static files
├── astro.config.mjs # Astro configuration
└── package.json
Build and run using Docker:
# Build the image
docker build -t gdg-docs:latest .
# Run the container
docker run -p 8080:80 gdg-docs:latest
# Or use docker-compose
docker-compose up --build
The site will be available at http://localhost:8080
- Astro - Modern web framework for content-driven sites
- Starlight - Documentation framework built on Astro
- Starlight Galaxy Theme - Beautiful theme with enhanced UX
- Tailwind CSS - Utility-first CSS framework
- MDX - Markdown with JSX support
- Fast Search: Instantly find what you need with built-in search
- Mobile Responsive: Optimized for all device sizes
- Dark Mode: Automatic theme switching based on user preference
- Interactive Examples: Code snippets with syntax highlighting
- Tabbed Content: Compare different approaches side-by-side
- Standardized Formats: Consistent API responses, error handling, and more
This project is licensed under the MIT License - see the LICENSE file for details.
- Contributors: Everyone who has helped bring this documentation into life
- Astro & Starlight Teams: For creating amazing open-source tools
- Website: gdgalgiers.dev
- Discord: Join our community
- GitHub: GDGAlgiers
- Issues: Report bugs or request features
Made with ❤️ by GDG Algiers
Empowering developers through knowledge sharing and community collaboration