Skip to content

skdas20/Synapse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

🧠 Synapse - AI-Powered Development Assistant

Synapse Logo

License: MIT Python FastAPI Contributors Welcome Live Demo

Revolutionizing no-code development with AI-powered project planning and code generation

🌐 Visit Live Demo

🌟 Features β€’ πŸš€ Quick Start β€’ πŸ“– Documentation β€’ 🀝 Contributing β€’ πŸ“„ License

πŸ“ About

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

✨ Features

πŸ€– AI-Powered Planning

  • 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

πŸ’» Code Generation

  • 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

πŸ”— GitHub Integration

  • 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

🎨 Modern UI/UX

  • 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

πŸš€ Quick Start

Prerequisites

  • 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)

πŸ› οΈ Installation

  1. Clone the repository

    git clone https://github.com/skdas20/Synapse.git
    cd Synapse
  2. Set up the backend

    cd backend
    pip install -r ../requirements.txt
  3. Configure environment variables Create a .env file 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
  4. Start the backend server

    cd backend
    uvicorn app:app --reload --host 0.0.0.0 --port 8000
  5. Access the application Open your browser and navigate to:

    http://localhost:8000
    

🌐 Local Development

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

πŸ”‘ API Keys Setup

Google Gemini API Key

  1. Visit Google AI Studio
  2. Create a new API key
  3. Add it to your .env file as GEMINI_API_KEY

GitHub Token (Optional)

  1. Go to GitHub Settings β†’ Developer settings β†’ Personal access tokens
  2. Generate a new token with repo permissions
  3. Add it to your .env file as GITHUB_TOKEN

πŸ“– API Documentation

Once the server is running, access the interactive API documentation at:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

Key Endpoints

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

πŸ—οΈ Project Structure

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

πŸ§ͺ Testing

Run the test suite:

# Backend tests
cd backend
python -m pytest tests/

# Frontend tests (if you add them)
npm test

πŸš€ Deployment

Deploy on Render

  1. Push to GitHub

    git add .
    git commit -m "Initial commit"
    git push origin main
  2. 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
  3. Configure Environment Variables Add your API keys in Render's dashboard:

    • GEMINI_API_KEY
    • MONGODB_URI
    • GITHUB_TOKEN

Deploy on Other Platforms

  • Heroku: Use the included Procfile
  • Vercel: Configure for FastAPI deployment
  • Railway: Direct GitHub integration

🀝 Contributing

We welcome contributions from developers of all skill levels! Here's how you can help:

🎯 Areas for Contribution

  • πŸ› 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

πŸš€ Getting Started

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“‹ Current Issues & Roadmap

Check our Issues for:

  • 🟒 Good First Issues: Perfect for beginners
  • 🟑 Medium Priority: For intermediate contributors
  • πŸ”΄ High Priority: Advanced features and critical fixes

🌟 Roadmap

  • 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

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • 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

πŸ“§ Contact

Sumit Kumar Das - Creator and Maintainer


⭐ Star this repository if you find it helpful!

Made with ❀️ by Sumit Kumar Das

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •