CodeBuddy is an innovative platform designed to help developers prepare for technical interviews through AI-powered voice interactions, interactive learning modules, and real-time feedback.
The platform provides an engaging and structured learning experience with tools such as voice interviews, topic-based lessons, flashcard systems, and whiteboard challenges to enhance both conceptual and practical skills.
- ποΈ AI-Powered Voice Interviews β Practice realistic technical interviews with instant AI feedback.
- π Structured Learning Paths β Master topics from beginner to advanced levels.
- π Smart Flashcards β Reinforce knowledge using spaced repetition.
- π¨ Interactive Whiteboard β Solve coding problems visually.
- Multiple Domains β Practice topics like JavaScript, Data Structures, Algorithms, and System Design.
- Difficulty Levels β Progress through Easy, Medium, and Hard challenges.
- Topic Categorization β Organized by technology stacks and key concepts.
- Skill Assessment β Identify strengths and weaknesses easily.
- Learning Paths β Structured journeys from beginner to expert.
- Spaced Repetition β Learn effectively with scientifically optimized intervals.
- Multiple Decks β Grouped by topic and difficulty.
- Confidence Rating β Self-assess your comfort level per card.
- Interactive Drawing β Visualize problem-solving approaches.
- Real Coding Problems β Practice with real interview-style challenges.
- Hint System β Get guided hints when stuck.
- Secure Authentication β JWT-based user registration and login.
- Dashboard β Customized experience for each user.
- Performance History β Track your complete interview journey.
- Framework: Angular 16+
- Language: TypeScript
- UI Components: Angular Material
- State Management: RxJS
- Styling: CSS3
- Build Tool: Angular CLI
- Runtime: Node.js
- Framework: Express.js
- Authentication: JWT, bcrypt
- Real-time Communication: Socket.io
- API Documentation: Gemini API/OpenAPI
- Primary Database: MongoDB (MongoDB compass)
- AI Integration: Google Gemini AI
- Speech Processing: Web Speech API
- Frontend: Netlify
- Backend: Render
- Database: MongoDB Atlas
- CI/CD: GitHub Actions
- Node.js 18+
- MongoDB (local or Atlas)
- Angular CLI 16+
git clone https://github.com/ashhwiithac22/CodebuddyApp.git
cd CodebuddyAppcd backend
npm install
# Create environment file
cp .env.example .env
# Edit .env with your configurations
# Start backend server
npm run dev3οΈβ£ Frontend Setup
cd frontend
npm install
ng serve -o4οΈβ£ Access the Application
Frontend: http://localhost:4200
Backend API: http://localhost:5000
MONGODB_URI=mongodb://localhost:27017/codebuddy
JWT_SECRET=your-jwt-secret-key
GEMINI_API_KEY=your-gemini-api-key
PORT=5000
NODE_ENV=development
Document the most important API routes for quick reference.
Method Endpoint Description
- POST /api/auth/register - Register a new user
- POST /api/auth/login User - login
- GET /api/auth/profile - Get user profile
Method Endpoint Description
- POST /api/interview/start - Start new interview
- POST /api/interview/response - Submit answer
- GET /api/interview/history - View previous interviews
Method Endpoint Description
- GET /api/flashcards/decks - Get all decks
- POST /api/flashcards/progress - Update progress
Backend (Render): https://codebuddy-backend-oind.onrender.com/