The 10000x-devs project is a comprehensive suite of tools designed to streamline and enhance the software development lifecycle. It integrates AI-powered features to assist developers with various tasks, from code generation and analysis to deployment and environment provisioning.
The project aims to deliver the following key features:
- README Generator: Automatically generates README files for projects.
- Pull Request Analyzer: Analyzes pull requests for quality, potential issues, and provides summaries.
- Vulnerability Scanner: Scans codebases for known security vulnerabilities.
- Chat with Code: Allows developers to interact with their codebase using natural language queries.
- Deploy: Enables project deployment through chat-based commands.
- Code Structure Visualization: Provides tools to visualize the architecture and dependencies of a codebase.
- Test Case Generation: Facilitates the generation of automated test cases.
- Development Environment Provisioning: Automates the setup of development environments.
The project is built using a modern technology stack:
- Frontend:
- Next.js
- React
- TypeScript
- Tailwind CSS
- Shadcn/ui (based on Radix UI components)
- Backend:
- Node.js
- Express.js
- Prisma (ORM)
- PostgreSQL (Database)
- Redis (Caching and Message Brokering)
- AI Service:
- Python
- Flask
- Google Generative AI
- Containerization:
- Docker
- Docker Compose
The monorepo is organized into the following main directories:
10000x-devs/
├── ai/ # Python/Flask based AI services
├── backend/ # Node.js/Express.js backend application
├── frontend/ # Next.js frontend application
├── docker-compose.yml # Docker Compose configuration for services like PostgreSQL and Redis
└── README.md # This file
ai/: Contains the Flask application responsible for AI-powered features, utilizing Google Generative AI.backend/: Houses the Express.js API server, handling business logic, database interactions via Prisma, authentication, and communication with other services.frontend/: The Next.js application providing the user interface and interacting with the backend API.
Before you begin, ensure you have the following installed on your system:
- Node.js (v18 or later recommended)
- pnpm (Package manager)
- Python (v3.8 or later recommended)
- Docker and Docker Compose
Follow these steps to get the project up and running on your local machine.
git clone https://github.com/MananGandhi1810/100x-buildathon.git
cd 10000x-devsUse Docker Compose to start the PostgreSQL database and Redis instance:
docker-compose up -dThis command will download the necessary images and run the containers in detached mode.
Install dependencies for each part of the project using pnpm:
-
Backend:
cd backend pnpm install pnpm prisma migrate dev cd ..
-
Frontend:
cd frontend pnpm install cd ..
-
AI Service:
cd ai python -m venv venv source venv/bin/activate pip install -r requirements.txt cd ..
-
Backend Server:
cd backend pnpm devThe backend server will typically start on
http://localhost:3001(or as configured). -
Frontend Application:
cd frontend pnpm devThe frontend development server will typically start on
http://localhost:3000. -
AI Service:
cd ai source venv/bin/activate flask run
The Flask AI service will typically start on
http://localhost:5000.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Open a Pull Request.
Please ensure your code adheres to the project's coding standards and includes tests where applicable.
This project is licensed under the ISC License (assuming the backend's LICENSE file applies to the whole project, please verify and update if necessary).