Skip to content

aniruddhapai27/Mini-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

SkillWise-AI ๐Ÿš€

Master your interview skills with AI-powered practice sessions

SkillWise-AI is a comprehensive web application that helps engineering students and professionals prepare for technical interviews using advanced AI technology. The platform provides personalized interview practice, daily quiz challenges, study assistance, and resume analysis with ATS optimization.

๐ŸŒ Live Demo: https://my-project.tech

๐Ÿ“‹ Table of Contents

๐ŸŽฏ Project Objective

The primary objective of SkillWise-AI is to bridge the gap between academic knowledge and interview readiness for engineering students. By leveraging AI technology, the platform provides:

  • Personalized Interview Practice: AI-powered mock interviews tailored to specific domains and difficulty levels
  • Skill Assessment: Comprehensive evaluation and feedback on technical and soft skills
  • Knowledge Reinforcement: Daily quiz challenges covering core engineering subjects
  • Resume Optimization: AI-driven resume analysis with ATS compatibility scoring
  • Study Assistance: Subject-specific AI tutoring based on standard textbooks

โœจ Key Features

๐ŸŽค AI-Powered Mock Interviews

  • Real-time voice-to-text transcription using Whisper API
  • Dynamic question generation based on domain (Technical, Behavioral, System Design)
  • Difficulty levels: Beginner, Intermediate, Advanced
  • Comprehensive feedback with scoring (0-100)
  • Session history and progress tracking

๐Ÿ“š Daily Quiz Challenges

  • Auto-generated questions for 6 core engineering subjects:
    • Data Structures & Algorithms
    • Operating Systems
    • Computer Networks
    • Database Management Systems
    • Software Engineering
    • Algorithm Design & Analysis
  • Multiple choice questions with instant feedback
  • Performance analytics and streak tracking

๐Ÿค– AI Study Assistant

  • Subject-specific tutoring using standard textbooks
  • Conversational AI based on Llama-4-Scout model
  • Context-aware responses with chat history
  • Supports ADA, CN, DBMS, OS, SE, and DS subjects

๐Ÿ“„ Resume Analysis

  • AI-powered grammatical error detection
  • ATS (Applicant Tracking System) compatibility scoring
  • Personalized improvement suggestions
  • Support for PDF, DOCX, and TXT formats

๐Ÿ‘ค User Management

  • Secure authentication with JWT tokens
  • Profile management with photo and resume upload
  • Password reset functionality via email
  • Session tracking and performance analytics

๐Ÿ›  Tech Stack

Frontend (React 19.1.0)

  • React 19.1.0 - Latest React with concurrent features and modern hooks
  • Vite 6.3.5 - Ultra-fast build tool and development server
  • Tailwind CSS 4.1.5 - Utility-first CSS framework with custom configuration
  • Redux Toolkit 2.8.2 - Modern Redux state management
  • React Router DOM 7.6.1 - Declarative routing for React applications
  • Framer Motion 12.19.1 - Production-ready motion library for React
  • Axios 1.9.0 - Promise-based HTTP client
  • React Hot Toast 2.5.2 - Beautiful toast notifications
  • React Icons 5.5.0 - Popular icon library
  • React Markdown 10.1.0 - Markdown component for React
  • Recharts 3.0.2 - Composable charting library
  • @lottiefiles/dotlottie-react 0.14.2 - Lottie animations for React

Backend (Node.js/Express)

  • Express.js 5.1.0 - Fast, unopinionated web framework
  • MongoDB - NoSQL database with Mongoose 8.14.1 ODM
  • JWT - JSON Web Token authentication with jsonwebtoken 9.0.2
  • Cloudinary 1.41.3 - Cloud-based image and file storage
  • Bcrypt.js 3.0.2 - Password hashing library
  • Nodemailer 7.0.3 - Email sending functionality
  • Multer 2.0.1 - Middleware for handling multipart/form-data
  • Morgan 1.10.0 - HTTP request logger middleware
  • CORS 2.8.5 - Cross-Origin Resource Sharing middleware
  • Cookie Parser 1.4.7 - Cookie parsing middleware
  • HTTP Proxy Middleware 3.0.5 - Proxy middleware for API routing

AI/ML Services (Python/FastAPI)

  • FastAPI - Modern Python web framework for building APIs
  • Groq API - High-performance LLM inference for AI responses
  • Whisper API - Speech-to-text transcription service
  • LangChain - Framework for developing LLM applications
  • LangChain Groq - Groq integration for LangChain
  • LangChain Community - Community-driven LangChain components
  • LangChain HuggingFace - HuggingFace integration
  • Motor 3.0.0 - Async MongoDB driver for Python
  • PyMongo 4.0.0 - MongoDB Python driver
  • Pydantic - Data validation using Python type annotations
  • PyPDF2 - PDF text extraction library
  • Python-DOCX - Word document processing
  • PyJWT - JSON Web Token implementation
  • FAISS-CPU - Facebook AI Similarity Search library
  • Uvicorn - ASGI server implementation

๐Ÿ“ Project Structure

Mini-Project/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ฑ client/                          # React Frontend Application
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/                 # Reusable UI components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ AuthLayout.jsx         # Authentication wrapper layout
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Navbar.jsx             # Navigation component
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ProtectedRoute.jsx     # Route protection wrapper
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Loading.jsx            # Loading state components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ VoiceRecorder.jsx      # Voice recording component
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Gamification.jsx       # Gamification features
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ StreakVisualizer.jsx   # Streak tracking visualization
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ErrorBoundary.jsx      # Error boundary component
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ DotLottieLoader.jsx    # Lottie animation loader
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ResumeATS.jsx          # Resume ATS analysis
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ shared/                # Shared components
โ”‚   โ”‚   โ”œโ”€โ”€ pages/                     # Main application pages
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Home.jsx               # Landing page
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Dashboard.jsx          # User dashboard
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Profile.jsx            # User profile management
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Login.jsx              # User authentication
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Register.jsx           # User registration
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ForgotPassword.jsx     # Password reset request
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ResetPassword.jsx      # Password reset form
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Quiz.jsx               # Quiz interface
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ QuizSelection.jsx      # Subject selection for quiz
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ QuizResults.jsx        # Quiz results display
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MockInterview.jsx      # Mock interview interface
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MockInterviewSelection.jsx # Interview type selection
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ MockInterviewResults.jsx   # Interview results
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ InterviewHistory.jsx   # Interview session history
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ StudyAssistant.jsx     # AI study assistant
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ResumeATSPage.jsx      # Resume analysis page
โ”‚   โ”‚   โ”œโ”€โ”€ redux/                     # State management
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ store.js               # Redux store configuration
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ slices/                # Redux slices for different features
โ”‚   โ”‚   โ”œโ”€โ”€ utils/                     # Utility functions
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ api.js                 # API configuration and utilities
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ dqApi.js               # Daily questions API
โ”‚   โ”‚   โ”œโ”€โ”€ hooks/                     # Custom React hooks
โ”‚   โ”‚   โ”œโ”€โ”€ contexts/                  # React context providers
โ”‚   โ”‚   โ””โ”€โ”€ assets/                    # Static assets and images
โ”‚   โ”œโ”€โ”€ public/                        # Public static files
โ”‚   โ”‚   โ”œโ”€โ”€ ada.jpg                    # Subject images
โ”‚   โ”‚   โ”œโ”€โ”€ cn.jpg
โ”‚   โ”‚   โ”œโ”€โ”€ dbms.jpg
โ”‚   โ”‚   โ”œโ”€โ”€ ds.jpg
โ”‚   โ”‚   โ”œโ”€โ”€ os.jpg
โ”‚   โ”‚   โ””โ”€โ”€ se.jpg
โ”‚   โ”œโ”€โ”€ package.json                   # Frontend dependencies
โ”‚   โ”œโ”€โ”€ vite.config.js                 # Vite configuration
โ”‚   โ”œโ”€โ”€ tailwind.config.js             # Tailwind CSS configuration
โ”‚   โ”œโ”€โ”€ eslint.config.js               # ESLint configuration
โ”‚   โ””โ”€โ”€ vercel.json                    # Vercel deployment config
โ”‚
โ”œโ”€โ”€ ๐Ÿ–ฅ๏ธ server/                          # Node.js Backend Server
โ”‚   โ”œโ”€โ”€ controllers/                   # Business logic controllers
โ”‚   โ”‚   โ”œโ”€โ”€ authController.js          # Authentication logic
โ”‚   โ”‚   โ”œโ”€โ”€ userController.js          # User management
โ”‚   โ”‚   โ”œโ”€โ”€ dqController.js            # Daily questions management
โ”‚   โ”‚   โ”œโ”€โ”€ interviewController.js     # Interview session management
โ”‚   โ”‚   โ””โ”€โ”€ assistantController.js     # Study assistant proxy
โ”‚   โ”œโ”€โ”€ models/                        # Database schemas (Mongoose)
โ”‚   โ”‚   โ”œโ”€โ”€ userModel.js               # User data schema
โ”‚   โ”‚   โ”œโ”€โ”€ dqModel.js                 # Daily questions schema
โ”‚   โ”‚   โ”œโ”€โ”€ interviewModel.js          # Interview session schema
โ”‚   โ”‚   โ”œโ”€โ”€ assistantModel.js          # Study assistant session schema
โ”‚   โ”‚   โ”œโ”€โ”€ resumeModel.js             # Resume analysis schema
โ”‚   โ”‚   โ””โ”€โ”€ quizHistoryModel.js        # Quiz performance history
โ”‚   โ”œโ”€โ”€ routes/                        # API route definitions
โ”‚   โ”‚   โ”œโ”€โ”€ authRoutes.js              # Authentication endpoints
โ”‚   โ”‚   โ”œโ”€โ”€ userRoutes.js              # User management endpoints
โ”‚   โ”‚   โ”œโ”€โ”€ dqRoutes.js                # Daily questions endpoints
โ”‚   โ”‚   โ”œโ”€โ”€ interviewRoutes.js         # Interview endpoints
โ”‚   โ”‚   โ””โ”€โ”€ assistantRoutes.js         # Study assistant endpoints
โ”‚   โ”œโ”€โ”€ middlewares/                   # Custom middleware
โ”‚   โ”‚   โ””โ”€โ”€ isLogin.js                 # JWT authentication middleware
โ”‚   โ”œโ”€โ”€ config/                        # Configuration files
โ”‚   โ”‚   โ”œโ”€โ”€ cloudinaryConfig.js        # Cloudinary setup
โ”‚   โ”‚   โ””โ”€โ”€ cloudinaryStorage.js       # File storage configuration
โ”‚   โ”œโ”€โ”€ utils/                         # Utility functions
โ”‚   โ”‚   โ”œโ”€โ”€ email.js                   # Email service utilities
โ”‚   โ”‚   โ”œโ”€โ”€ catchAsync.js              # Async error handling
โ”‚   โ”‚   โ””โ”€โ”€ pythonAPI.js               # Python service integration
โ”‚   โ”œโ”€โ”€ jwt/                           # JWT utilities
โ”‚   โ”‚   โ””โ”€โ”€ jsonWebToken.js            # Token generation and validation
โ”‚   โ”œโ”€โ”€ package.json                   # Backend dependencies
โ”‚   โ””โ”€โ”€ server.js                      # Express server entry point
โ”‚
โ”œโ”€โ”€ ๐Ÿ services/                        # Python AI/ML Services
โ”‚   โ”œโ”€โ”€ controllers/                   # AI service controllers
โ”‚   โ”‚   โ”œโ”€โ”€ assistant_controller.py    # Study assistant AI logic
โ”‚   โ”‚   โ””โ”€โ”€ interview_controller.py    # Interview AI logic and feedback
โ”‚   โ”œโ”€โ”€ models/                        # Data models and AI prompts
โ”‚   โ”‚   โ”œโ”€โ”€ database_models.py         # Pydantic models for database
โ”‚   โ”‚   โ”œโ”€โ”€ request_models.py          # API request validation models
โ”‚   โ”‚   โ”œโ”€โ”€ response_model.py          # API response models
โ”‚   โ”‚   โ””โ”€โ”€ prompts.py                 # AI prompts and templates
โ”‚   โ”œโ”€โ”€ routes/                        # FastAPI route definitions
โ”‚   โ”‚   โ”œโ”€โ”€ assistant_routes.py        # Study assistant API endpoints
โ”‚   โ”‚   โ””โ”€โ”€ interview_routes.py        # Interview AI API endpoints
โ”‚   โ”œโ”€โ”€ database/                      # Database configuration
โ”‚   โ”‚   โ””โ”€โ”€ db_config.py               # MongoDB async connection
โ”‚   โ”œโ”€โ”€ utils/                         # Utility functions
โ”‚   โ”‚   โ”œโ”€โ”€ helper.py                  # Text processing utilities
โ”‚   โ”‚   โ””โ”€โ”€ auth_middleware.py         # JWT authentication for FastAPI
โ”‚   โ”œโ”€โ”€ speech_output/                 # Generated speech files
โ”‚   โ”œโ”€โ”€ minenv/                        # Python virtual environment
โ”‚   โ”œโ”€โ”€ api.py                         # FastAPI main application
โ”‚   โ”œโ”€โ”€ auth.py                        # Authentication logic
โ”‚   โ”œโ”€โ”€ requirements.txt               # Python dependencies
โ”‚   โ””โ”€โ”€ test_auth.py                   # Authentication testing
โ”‚
โ”œโ”€โ”€ ๏ฟฝ Documentation Files
โ”‚   โ”œโ”€โ”€ README.md                      # Main project documentation
โ”‚   โ”œโ”€โ”€ ASSISTANT_PAGINATION_IMPLEMENTATION.md
โ”‚   โ”œโ”€โ”€ DOTLOTTIE_LOADER_FIX.md
โ”‚   โ”œโ”€โ”€ INTERVIEW_FEEDBACK_DISPLAY_ENHANCEMENT.md
โ”‚   โ”œโ”€โ”€ TEXT_TO_SPEECH_INTEGRATION.md
โ”‚   โ”œโ”€โ”€ VOICE_TO_TEXT_INTEGRATION.md
โ”‚   โ””โ”€โ”€ AUTHENTICATION_GUIDE.md
โ”‚
โ””โ”€โ”€ ๐Ÿ”ง Configuration Files
    โ”œโ”€โ”€ package.json                   # Root package.json for workspace
    โ””โ”€โ”€ debug.txt                      # Debug information

๐Ÿš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • Python (v3.8 or higher)
  • MongoDB (local or cloud instance)
  • Git

Installation

  1. Clone the repository
git clone https://github.com/yourusername/SkillWise-AI.git
cd Mini-Project
  1. Setup Backend Server (Node.js)
cd server
npm install
  1. Setup Frontend Client (React)
cd ../client
npm install
  1. Setup AI Services (Python)
cd ../services
python -m venv minenv
# On Windows
minenv\Scripts\activate
# On macOS/Linux
source minenv/bin/activate
pip install -r requirements.txt

Environment Configuration

Create .env files in each directory:

Server/.env

PORT=5000
MONGODB_URI=mongodb://localhost:27017/SkillWise-AI
JWT_SECRET=your_jwt_secret_key_here
JWT_EXPIRES_IN=7d
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_cloudinary_key
CLOUDINARY_API_SECRET=your_cloudinary_secret
EMAIL_USERNAME=your_email@gmail.com
EMAIL_PASSWORD=your_app_password
FRONTEND_URL=http://localhost:5173

Services/.env

GROQ_API_KEY_DQ=your_groq_api_key_for_daily_questions
GROQ_API_AUDIO=your_groq_audio_api_key
MONGODB_URI=mongodb://localhost:27017/SkillWise-AI

Client/.env

VITE_APP_BACKEND_URL=http://localhost:5000
VITE_APP_SERVICES_URL=http://localhost:8000

Running the Application

You can use VS Code tasks or run manually:

Using VS Code Tasks (Recommended)

  1. Open VS Code in the project root
  2. Use Ctrl+Shift+P (Cmd+Shift+P on macOS) and type "Tasks: Run Task"
  3. Select one of the available tasks:
    • Start Client Development Server - Runs the React frontend
    • Start Server Development Server - Runs the Node.js backend
    • Start Python API Service - Runs the FastAPI Python services

Manual Startup

  1. Start MongoDB (if running locally)

  2. Start the Backend Server

cd server
npm run dev
  1. Start the AI Services
cd services
# Activate virtual environment first
python api.py
  1. Start the Frontend Client
cd client
npm run dev

The application will be available at:

๐Ÿ”„ Development Workflow

Development Scripts

Frontend (client/)

npm run dev      # Start development server
npm run build    # Build for production
npm run preview  # Preview production build
npm run lint     # Run ESLint

Backend (server/)

npm run dev      # Start with nodemon (auto-reload)
npm start        # Start production server

AI Services (services/)

python api.py    # Start FastAPI server
uvicorn api:api --reload --host 0.0.0.0 --port 8000  # Start with auto-reload

Architecture Overview

The application follows a microservices architecture:

  1. Frontend (React): Handles user interface and client-side state management
  2. Backend (Node.js/Express): Manages user authentication, database operations, and file uploads
  3. AI Services (Python/FastAPI): Provides AI-powered features like interview feedback, study assistance, and resume analysis

Key Development Features

  • Hot Reload: All services support hot reload during development
  • Error Boundaries: React error boundaries catch and handle client-side errors gracefully
  • Async Operations: Comprehensive async/await patterns with proper error handling
  • Type Safety: Pydantic models ensure type safety in Python services
  • Authentication: JWT-based authentication across all services
  • File Upload: Cloudinary integration for file storage and management

๐Ÿ“š API Documentation

Authentication Endpoints (Node.js Backend)

Base URL: http://localhost:5000/api/v1/auth
Method Endpoint Description Auth Required
POST /register User registration โŒ
POST /login User login โŒ
GET /logout User logout โŒ
POST /forgot-password Password reset request โŒ
POST /reset-password/:token Reset password with token โŒ
PATCH /update-password Update current password โœ…
PATCH /update-profile Update user profile โœ…
GET /me Get current user details โœ…

User Management Endpoints

Base URL: http://localhost:5000/api/v1/users
Method Endpoint Description Auth Required
GET /profile Get user profile โœ…
PATCH /profile Update user profile โœ…
POST /upload-avatar Upload profile picture โœ…
POST /upload-resume Upload resume file โœ…

Daily Questions Endpoints

Base URL: http://localhost:5000/api/v1/dq
Method Endpoint Description Auth Required
GET /daily-questions Get all daily questions โœ…
GET /subject/:subject Get questions by subject โœ…
POST /submit-answers Submit quiz answers โœ…
GET /history Get quiz history โœ…
GET /streak Get current streak โœ…

Interview Endpoints

Base URL: http://localhost:5000/api/v1/interview
Method Endpoint Description Auth Required
POST /create-session Create interview session โœ…
GET /sessions Get user interview sessions โœ…
GET /session/:id Get specific session โœ…
PATCH /session/:id Update session โœ…
DELETE /session/:id Delete session โœ…

AI Services Endpoints (FastAPI Python)

Base URL: http://localhost:8000/services/api/v1

Interview AI Endpoints

Method Endpoint Description Auth Required
POST /interview/transcript Convert voice to text โœ…
POST /interview/get-interview Get AI interview questions โœ…
POST /interview/feedback Generate interview feedback โœ…
POST /interview/text-to-speech Convert text to speech โœ…
POST /interview/resume-based-interview Resume-based interview โœ…

Study Assistant Endpoints

Method Endpoint Description Auth Required
POST /assistant/chat Chat with study assistant โœ…
POST /assistant/resume Analyze resume with ATS โœ…
POST /assistant/daily-questions Generate daily questions โœ…
GET /assistant/subjects Get available subjects โœ…

Request/Response Examples

Authentication

// POST /api/v1/auth/login
{
  "email": "user@example.com",
  "password": "securePassword123"
}

// Response
{
  "status": "success",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "user": {
    "id": "60f7b3b3b3b3b3b3b3b3b3b3",
    "name": "John Doe",
    "email": "user@example.com"
  }
}

Voice Transcription

// POST /services/api/v1/interview/transcript
// Form Data: file (audio file)

// Response
{
  "text": "Hello, my name is John and I am a software developer..."
}

Interview Feedback

// POST /services/api/v1/interview/feedback
{
  "questions": ["Tell me about yourself"],
  "answers": ["I am a software developer..."],
  "domain": "technical",
  "difficulty": "intermediate"
}

// Response
{
  "overall_score": 85,
  "feedback": {
    "technical_knowledge": 90,
    "communication": 80,
    "confidence": 85
  },
  "detailed_feedback": "Your technical knowledge is excellent...",
  "suggestions": ["Practice explaining complex concepts more clearly"]
}

Interactive API Documentation

Authentication

All protected endpoints require a JWT token in the Authorization header:

Authorization: Bearer <your_jwt_token>

๐ŸŽจ Features in Detail

๐ŸŽค AI-Powered Mock Interviews

  • Voice Recognition: Real-time speech-to-text using Groq Whisper API
  • Dynamic Question Generation: AI generates contextual follow-up questions based on responses
  • Multiple Interview Types: Technical coding, behavioral, system design, and resume-based interviews
  • Difficulty Scaling: Beginner, Intermediate, and Advanced difficulty levels
  • Comprehensive Feedback: Detailed scoring on technical knowledge, communication skills, and confidence
  • Session History: Track progress across multiple interview sessions
  • Resume-Based Questions: AI analyzes uploaded resume to generate relevant questions

๐Ÿ“š Daily Quiz Challenges

  • 6 Core Engineering Subjects:
    • Data Structures & Algorithms (DS)
    • Operating Systems (OS)
    • Computer Networks (CN)
    • Database Management Systems (DBMS)
    • Software Engineering (SE)
    • Algorithm Design & Analysis (ADA)
  • Intelligent Question Generation: AI-powered question creation based on curriculum
  • Performance Analytics: Detailed tracking of performance trends and weak areas
  • Streak System: Gamified daily practice with streak counters and achievements
  • Instant Feedback: Immediate results with detailed explanations for each answer
  • Adaptive Difficulty: Questions adapt based on user performance and learning curve

๐Ÿค– AI Study Assistant

  • Subject-Specific Expertise: Specialized AI tutors for each engineering domain
  • Textbook Integration: Responses based on standard engineering textbooks and curriculum
  • Conversational Interface: Natural language interaction with context-aware responses
  • Chat History: Persistent conversation history for continued learning
  • Multi-Modal Support: Text-based queries with comprehensive explanations
  • Personalized Learning: Adapts explanations based on user's knowledge level

๐Ÿ“„ Resume Analysis & ATS Optimization

  • AI-Powered Grammar Check: Advanced grammatical error detection and correction
  • ATS Compatibility Scoring: Detailed analysis for Applicant Tracking System optimization
  • Format Analysis: Support for PDF, DOCX, and TXT file formats
  • Personalized Suggestions: Tailored recommendations for improvement
  • Industry Standards: Analysis based on current hiring trends and requirements
  • Skills Gap Analysis: Identification of missing keywords and skills

๐Ÿ‘ค Advanced User Management

  • Secure Authentication: JWT-based authentication with refresh token support
  • Profile Customization: Comprehensive profile management with photo upload
  • Password Security: Bcrypt hashing with password reset functionality via email
  • Session Tracking: Detailed analytics on user performance and progress
  • Cloud Storage: Secure file storage using Cloudinary integration
  • Data Privacy: GDPR-compliant user data handling and privacy controls

๐ŸŽฎ Gamification Features

  • Streak Tracking: Visual streak counters with calendar integration
  • Performance Graphs: Interactive charts showing progress over time
  • Achievement System: Badges and milestones for consistent practice
  • Leaderboards: Competitive elements to encourage regular engagement
  • Progress Visualization: GitHub-style contribution graphs for quiz activities

๐Ÿš€ Deployment

Frontend Deployment (Vercel)

The frontend is configured for deployment on Vercel with the included vercel.json:

# Install Vercel CLI
npm i -g vercel

# Deploy from client directory
cd client
vercel --prod

Backend Deployment Options

Option 1: Railway/Render

# Add to package.json in server/
{
  "scripts": {
    "start": "node server.js",
    "build": "npm install"
  }
}

Option 2: Docker Deployment

# Dockerfile for backend
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 5000
CMD ["npm", "start"]

Python Services Deployment

FastAPI with Docker

# Dockerfile for services
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "api:api", "--host", "0.0.0.0", "--port", "8000"]

Environment Variables for Production

Update your production environment variables:

# Production URLs
VITE_APP_BACKEND_URL=https://your-backend-domain.com
VITE_APP_SERVICES_URL=https://your-python-services-domain.com
FRONTEND_URL=https://your-frontend-domain.com

# Database
MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/SkillWise-AI

# Security
JWT_SECRET=your_super_secure_jwt_secret_for_production

Monitoring and Analytics

  • Error Tracking: Implement Sentry for production error monitoring
  • Performance: Use React DevTools and browser performance monitoring
  • API Monitoring: FastAPI built-in metrics and logging
  • Database Monitoring: MongoDB Atlas monitoring for production

Development Setup

  1. Fork the repository and clone your fork
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Install dependencies for all services (see Getting Started)
  4. Make your changes following the coding standards
  5. Test thoroughly across all services
  6. Commit your changes: git commit -m 'Add amazing feature'
  7. Push to your branch: git push origin feature/amazing-feature
  8. Open a Pull Request with a clear description

Coding Standards

Frontend (React)

  • Use functional components with hooks
  • Follow ESLint configuration
  • Use Tailwind CSS for styling
  • Implement proper error boundaries
  • Write meaningful component names

Backend (Node.js)

  • Use async/await for asynchronous operations
  • Implement proper error handling with try-catch
  • Follow RESTful API conventions
  • Use meaningful variable and function names
  • Add JSDoc comments for complex functions

AI Services (Python)

  • Follow PEP 8 style guidelines
  • Use type hints with Pydantic models
  • Implement proper async patterns
  • Add docstrings for all functions
  • Handle exceptions gracefully

Third-Party Licenses

This project uses several open-source libraries and services:

  • React: MIT License
  • FastAPI: MIT License
  • Express.js: MIT License
  • Tailwind CSS: MIT License
  • MongoDB: Server Side Public License (SSPL)
  • Groq API: Commercial API service
  • Cloudinary: Commercial service with free tier

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •