Revolutionizing no-code development with AI-powered project planning and code generation
🌟 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
