Revolutionizing no-code development with AI-powered project planning and code generation
π Visit Live Demo
π Features β’ π Quick Start β’ π Documentation β’ π€ Contributing β’ π License
Synapse is an ambitious AI-powered development assistant created by Sumit Kumar Das, designed to bridge the gap between ideas and implementation. This innovative platform helps developers and non-developers alike by:
- π― Breaking down complex project requirements into actionable tasks
- π§ Generating complete codebases based on requirements
- π Seamlessly integrating with GitHub for version control
- π Providing intelligent project analysis and tech stack recommendations
- Smart Requirement Analysis: Convert natural language requirements into structured development tasks
- Technology Stack Detection: Automatically identifies the best tech stack for your project
- Realistic Goal Setting: Creates achievable milestones and development phases
- Multi-Language Support: Generates code in various programming languages
- Complete Project Structure: Creates entire project scaffolds with proper file organization
- Best Practices: Follows industry standards and coding conventions
- Automatic Repository Creation: Creates and initializes GitHub repositories
- Code Pushing: Directly pushes generated code to your GitHub account
- Issue Management: Tracks development progress through GitHub issues
- Space-Themed Interface: Beautiful, responsive design with animations
- Dark Mode: Eye-friendly interface for long coding sessions
- Real-time Updates: Live progress tracking and status updates
- Python 3.8 or higher
- Node.js (for frontend dependencies)
- MongoDB (local or cloud instance)
- Google Gemini API key
- GitHub Personal Access Token (optional, for GitHub features)
-
Clone the repository
git clone https://github.com/skdas20/Synapse.git cd Synapse -
Set up the backend
cd backend pip install -r ../requirements.txt -
Configure environment variables Create a
.envfile in the project root:GEMINI_API_KEY=your_gemini_api_key_here MONGODB_URI=mongodb://localhost:27017/synapse GITHUB_TOKEN=your_github_token_here # Optional
-
Start the backend server
cd backend uvicorn app:app --reload --host 0.0.0.0 --port 8000 -
Access the application Open your browser and navigate to:
http://localhost:8000
For development with live reload:
# Terminal 1 - Backend
cd backend
uvicorn app:app --reload --host 0.0.0.0 --port 8000
# Access at http://localhost:8000- Visit Google AI Studio
- Create a new API key
- Add it to your
.envfile asGEMINI_API_KEY
- Go to GitHub Settings β Developer settings β Personal access tokens
- Generate a new token with
repopermissions - Add it to your
.envfile asGITHUB_TOKEN
Once the server is running, access the interactive API documentation at:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
| Endpoint | Method | Description |
|---|---|---|
/api/process-requirement |
POST | Analyze requirements and generate tasks |
/api/generate-code |
POST | Generate complete codebase |
/api/push-to-github |
POST | Push code to GitHub repository |
/api/update-github-token |
POST | Update GitHub authentication |
Synapse/
βββ backend/
β βββ app.py # FastAPI main application
β βββ agents/
β β βββ task_planner.py # AI task planning agent
β β βββ dev_bot.py # Code generation agent
β β βββ github_agent.py # GitHub integration agent
β βββ templates/
β βββ a.png # Logo and assets
βββ frontend/
β βββ index.html # Main HTML file
β βββ styles.css # Styling and animations
β βββ script.js # Frontend JavaScript
βββ generated_project/ # Output directory for generated code
βββ requirements.txt # Python dependencies
βββ package.json # Node.js dependencies
βββ Procfile # Deployment configuration
βββ README.md # This file
Run the test suite:
# Backend tests
cd backend
python -m pytest tests/
# Frontend tests (if you add them)
npm test-
Push to GitHub
git add . git commit -m "Initial commit" git push origin main
-
Create Render Service
- Connect your GitHub repository
- Set build command:
pip install -r requirements.txt - Set start command:
uvicorn backend.app:app --host 0.0.0.0 --port $PORT
-
Configure Environment Variables Add your API keys in Render's dashboard:
GEMINI_API_KEYMONGODB_URIGITHUB_TOKEN
- Heroku: Use the included
Procfile - Vercel: Configure for FastAPI deployment
- Railway: Direct GitHub integration
We welcome contributions from developers of all skill levels! Here's how you can help:
- π Bug Fixes: Help identify and fix issues
- β¨ New Features: Add innovative functionalities
- π± UI/UX Improvements: Enhance user experience
- π Documentation: Improve guides and examples
- π§ͺ Testing: Add comprehensive test coverage
- π§ Performance: Optimize code and reduce loading times
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Check our Issues for:
- π’ Good First Issues: Perfect for beginners
- π‘ Medium Priority: For intermediate contributors
- π΄ High Priority: Advanced features and critical fixes
- Enhanced Code Editor: In-browser code editing interface
- Multiple AI Models: Support for different AI providers
- Real-time Collaboration: Multi-user project development
- Mobile App: Native mobile application
- Plugin System: Extensible architecture for custom tools
- Advanced Analytics: Project metrics and insights
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini AI for powerful language model capabilities
- FastAPI for the excellent Python web framework
- MongoDB for flexible data storage
- GitHub API for seamless integration
- Open Source Community for inspiration and support
Sumit Kumar Das - Creator and Maintainer
- GitHub: @skdas20
- Project Link: https://github.com/skdas20/Synapse
β Star this repository if you find it helpful!
Made with β€οΈ by Sumit Kumar Das
