Skip to content

prithvikings/BuddyBuild

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

🚀 BuddyBuild

BuddyBuild is a high-performance, AI-driven platform designed to streamline code reviews and development workflows. Leveraging the power of Google's Gemini AI, background processing with BullMQ, and a modern React frontend, BuddyBuild provides developers with real-time insights and automated feedback.


✨ Features

  • 🤖 AI-Powered Code Reviews: Integrated with Google Gemini AI to provide intelligent feedback on code snippets.
  • ⚡ Real-time Editor: A professional-grade code editing experience powered by Monaco Editor.
  • 🔄 Background Processing: Robust task management using Redis and BullMQ for asynchronous operations.
  • 🔐 Secure Authentication: Google OAuth 2.0 integration via Passport.js and JWT-based session management.
  • 📊 Usage Tracking: Monitor AI usage and review history.
  • 🎨 Modern UI: Beautiful, responsive interface built with Tailwind CSS 4 and Motion for smooth animations.

🛠️ Technology Stack

Frontend

Backend


📂 Project Structure

BuddyBuild/
├── backend/                # Node.js API
│   ├── src/
│   │   ├── ai/             # AI processing logic
│   │   ├── modules/        # Domain modules (auth, reviews, usage)
│   │   ├── queues/         # BullMQ queue definitions
│   │   ├── scripts/        # Database initialization and seeding
│   │   ├── server.ts       # Entry point
│   │   └── ...
│   └── package.json
├── frontend/               # React application
│   ├── src/
│   │   ├── components/     # Reusable UI components
│   │   ├── pages/          # Main logical pages (Landing, Editor, Login)
│   │   ├── hooks/          # Custom React hooks
│   │   ├── api/            # Axios instance and API calls
│   │   └── App.tsx         # Main router and layout
│   └── package.json
└── readme.md               # You are here

🚀 Getting Started

Prerequisites

  • Node.js (v18+)
  • PostgreSQL
  • Redis

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd BuddyBuild
  2. Setup Backend:

    cd backend
    npm install
  3. Setup Frontend:

    cd ../frontend
    npm install

Configuration

Create a .env file in the backend/ directory with the following variables:

# Server
PORT=3000
NODE_ENV=development

# Database
DATABASE_URL=postgresql://user:password@localhost:5432/buddybuild

# Redis
REDIS_URL=redis://127.0.0.1:6379

# AI
GEMINI_API_KEY=your_gemini_api_key

# Auth
JWT_SECRET=your_jwt_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
CLIENT_URL=http://localhost:5173

Running the Application

Start Backend (Development):

cd backend
npm run dev

Start Frontend:

cd frontend
npm run dev

📜 Scripts

Backend

  • npm run dev: Starts the development server with ts-node.
  • npm run build: Compiles TypeScript to JavaScript.
  • npm run start: Runs the compiled server from dist/.
  • npm run db:init: Initializes the database schema.
  • npm run db:seed: Seeds the database with initial data.

Frontend

  • npm run dev: Starts the Vite development server.
  • npm run build: Builds the production-ready application.
  • npm run preview: Previews the production build locally.

📄 License

This project is licensed under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published