Skip to content

Tanmay0215/prepX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

54 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PrepX - Tech Career Development Platform

A comprehensive career development platform designed specifically for tech professionals. PrepX combines AI-powered resume analysis, interactive coding quizzes, tech event discovery, and professional networking to accelerate your tech career.

πŸš€ Features Overview

🧠 Interactive Coding Quizzes

  • Multi-Language Support: Practice coding questions in HTML, CSS, JavaScript, Python, Java, and C++
  • Difficulty Levels: Easy, Medium, and Hard questions to match your skill level
  • Real-time Scoring: Instant feedback with detailed explanations
  • Progress Tracking: Monitor your improvement across different programming languages
  • Randomized Questions: Fresh challenges every time you practice

πŸ“„ AI-Powered Resume Analysis

  • Smart Resume Parsing: Upload PDFs and get comprehensive analysis
  • ATS Optimization: Check compatibility with Applicant Tracking Systems
  • Skills Assessment: Identify strengths and areas for improvement
  • Keyword Analysis: Optimize for job descriptions and industry standards
  • Actionable Feedback: Detailed suggestions for resume enhancement
  • Score-based Evaluation: Get quantified feedback on various resume aspects

🎯 Tech Events Discovery

  • Categorized Events: Filter by AI/ML, Web3/Blockchain, Development, DevOps, Cybersecurity
  • Real-time Filtering: Find events by category with live counts
  • Event Details: Comprehensive information including dates, locations, and registration links
  • Tag System: Discover events through detailed tagging
  • Submit Events: Community-driven event submissions

πŸ‘€ Professional Profiles

  • Coding Platform Integration: Connect LeetCode, GitHub, HackerRank, Codeforces, CodeChef accounts
  • Social Media Links: LinkedIn, Twitter, Instagram, YouTube, personal websites
  • Profile Customization: Upload avatars and showcase your professional presence
  • Public Profiles: Share your achievements with the community
  • Achievement Tracking: Display your coding accomplishments across platforms

πŸ” Authentication & Security

  • Secure Registration: Email verification with OTP
  • JWT Authentication: Secure session management
  • Rate Limiting: Protection against abuse and spam
  • Password Security: Encrypted password storage with bcryptjs

πŸ› οΈ Technology Stack

Backend

  • Node.js with Express.js framework
  • MongoDB with Mongoose ODM
  • JWT for authentication
  • Cloudinary for file storage
  • Resend for email services
  • Google Generative AI for resume analysis
  • Upstash Redis for rate limiting
  • Multer for file uploads

Frontend

  • React 18 with modern hooks
  • Vite for fast development and building
  • React Router for navigation
  • Framer Motion for animations
  • React Hot Toast for notifications
  • Tailwind CSS for styling
  • Lucide React for icons

Database & Storage

  • MongoDB Atlas for data persistence
  • Cloudinary for image and file storage
  • Upstash Redis for caching and rate limiting

πŸ“‹ Prerequisites

  • Node.js 18+ and npm
  • MongoDB Atlas account
  • Cloudinary account (for file storage)
  • Resend account (for emails)
  • Google AI API key (for resume analysis)

πŸ”§ Installation & Setup

1. Clone the Repository

git clone https://github.com/yourusername/prepX.git
cd prepX

2. Backend Setup

cd backend
npm install

Create a .env file in the backend directory:

MONGODB_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_api_secret
RESEND_API_KEY=your_resend_api_key
GOOGLE_GENAI_API_KEY=your_google_ai_api_key
UPSTASH_REDIS_REST_URL=your_upstash_redis_url
UPSTASH_REDIS_REST_TOKEN=your_upstash_redis_token

3. Frontend Setup

cd frontend
npm install

4. Database Seeding (Optional)

cd backend
npm run seed:events  # Seed sample events data

πŸš€ Running the Application

Development Mode

# Start backend (from backend directory)
npm run dev

# Start frontend (from frontend directory)
npm run dev

Production Mode

# Build frontend
cd frontend
npm run build

# Start backend
cd backend
npm start

The application will be available at:

  • Frontend: http://localhost:5173
  • Backend API: http://localhost:5000

πŸ“± Application Structure

Frontend Pages

  • Landing Page: Introduction and feature overview
  • Authentication: Login, Register, Email Verification
  • Dashboard: Personalized user home
  • Quiz Platform: Interactive coding challenges
  • Events: Tech event discovery and filtering
  • Resume Analysis: AI-powered resume review
  • Profile Management: User profiles and social links
  • Public Profiles: Community showcase

Backend API Endpoints

Authentication

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login
  • POST /api/auth/verify-email - Email verification
  • POST /api/auth/logout - User logout

User Management

  • GET /api/users/profile - Get user profile
  • PUT /api/users/profile - Update coding profiles
  • PUT /api/users/social-links - Update social media links
  • POST /api/users/avatar - Upload profile picture

Quizzes

  • GET /api/quiz/:language - Get quiz questions
  • POST /api/quiz/submit - Submit quiz answers

Events

  • GET /api/events - Get events (with category filtering)
  • GET /api/events/categories - Get category statistics
  • GET /api/events/:id - Get specific event details

Resume Analysis

  • POST /api/resume/upload - Upload and analyze resume
  • GET /api/resume/history - Get analysis history

External Integrations

  • GET /api/external/github/:username - GitHub profile data
  • GET /api/external/leetcode/:username - LeetCode statistics

🎨 Key Features in Detail

Quiz System

  • Dynamic Question Pool: Hundreds of questions across multiple languages
  • Smart Scoring: Weighted scoring based on difficulty
  • Progress Analytics: Track improvement over time
  • Language-specific: Tailored questions for each programming language

Event Platform

  • Smart Categorization: AI/ML, Web3, Development, DevOps, Cybersecurity
  • Real-time Counts: Live statistics for each category
  • Rich Event Data: Dates, locations, organizers, registration links
  • Community Driven: Submit your own events

Resume Analyzer

  • AI-Powered Analysis: Google Generative AI for intelligent feedback
  • Multiple Metrics: Scoring across various resume aspects
  • Actionable Insights: Specific recommendations for improvement
  • ATS Compatibility: Optimization for applicant tracking systems

Profile System

  • Multi-Platform Integration: Connect all your coding profiles
  • Social Presence: Complete professional online presence
  • Public Showcase: Share achievements with the community
  • Customizable: Upload avatars and personalize your profile

πŸ”’ Security Features

  • JWT Authentication with secure token management
  • Email Verification for account security
  • Rate Limiting to prevent abuse
  • Input Validation and sanitization
  • Secure File Uploads with type validation
  • Environment Variables for sensitive configuration

🌟 Future Enhancements

  • Mock Interviews: AI-powered interview practice
  • Job Board Integration: Direct job applications
  • Mentorship Platform: Connect with industry mentors
  • Skill Assessments: Comprehensive technical evaluations
  • Team Challenges: Collaborative coding competitions
  • Mobile App: Native iOS and Android applications

About

Resources

Stars

Watchers

Forks

Languages