diff --git a/.manus/db/db-query-1774834216959.json b/.manus/db/db-query-1774834216959.json index e150323..fb47cf1 100644 --- a/.manus/db/db-query-1774834216959.json +++ b/.manus/db/db-query-1774834216959.json @@ -6,4 +6,4 @@ "stdout": "", "stderr": "", "execution_time_ms": 10273 -} \ No newline at end of file +} diff --git a/AI_CURRICULUM_DESIGN.md b/AI_CURRICULUM_DESIGN.md index fae6f42..d137cd6 100644 --- a/AI_CURRICULUM_DESIGN.md +++ b/AI_CURRICULUM_DESIGN.md @@ -8,12 +8,12 @@ This document outlines the theoretical framework and algorithmic logic for the A SprintWork follows a research-backed 4-stage framework for career development: -| Stage | Goal | AI Feature | -|---|---|---| +| Stage | Goal | AI Feature | +| ----------- | ------------------------------------ | --------------------------------------- | | **Explore** | Identify career paths and skill gaps | Smart Job Matching & Skill Gap Analysis | -| **Build** | Create professional assets | AI CV Tailoring & Resume Builder | -| **Connect** | Build professional network | Networking Hub & Recruiter Matching | -| **Refine** | Master interview and soft skills | AI Mock Interviews & Scoring | +| **Build** | Create professional assets | AI CV Tailoring & Resume Builder | +| **Connect** | Build professional network | Networking Hub & Recruiter Matching | +| **Refine** | Master interview and soft skills | AI Mock Interviews & Scoring | --- @@ -22,6 +22,7 @@ SprintWork follows a research-backed 4-stage framework for career development: The interview curriculum is divided into four specialized tracks, each with a structured progression: ### A. Behavioral Track (STAR Method) + - **Focus:** Soft skills, leadership, conflict resolution. - **Curriculum:** 1. **Foundations:** Introduction to the STAR method. @@ -31,6 +32,7 @@ The interview curriculum is divided into four specialized tracks, each with a st - **Algorithm:** AI evaluates responses based on the presence of **Situation, Task, Action, and Result** components. ### B. Technical Track (DSA & System Design) + - **Focus:** Problem-solving, coding proficiency, architecture. - **Curriculum:** 1. **Data Structures:** Arrays, Linked Lists, Trees, Graphs. @@ -39,6 +41,7 @@ The interview curriculum is divided into four specialized tracks, each with a st - **Algorithm:** AI checks for technical accuracy, time/space complexity analysis, and edge case handling. ### C. Case Study Track + - **Focus:** Analytical thinking, business logic. - **Curriculum:** 1. **Market Entry:** Analyzing new business opportunities. @@ -50,6 +53,7 @@ The interview curriculum is divided into four specialized tracks, each with a st ## 3. Core Algorithms ### A. Smart Job Matching Algorithm (Hybrid Approach) + The matching score ($S$) is calculated as a weighted sum of multiple factors: $$S = w_1 \cdot S_{skills} + w_2 \cdot S_{experience} + w_3 \cdot S_{location} + w_4 \cdot S_{salary}$$ @@ -60,6 +64,7 @@ $$S = w_1 \cdot S_{skills} + w_2 \cdot S_{experience} + w_3 \cdot S_{location} + - **$S_{salary}$:** Overlap between user expectations and job budget. ### B. AI CV Tailoring Algorithm + 1. **Extraction:** Use LLM to extract key requirements (Skills, Keywords, Responsibilities) from a job description. 2. **Analysis:** Compare extracted keywords with the user's current resume. 3. **Optimization:** @@ -68,6 +73,7 @@ $$S = w_1 \cdot S_{skills} + w_2 \cdot S_{experience} + w_3 \cdot S_{location} + - **Quantification:** Prompt user to add metrics (e.g., "Increased sales by 20%"). ### C. Interview Scoring Rubric (0-100) + - **Content (40%):** Accuracy, relevance, and depth of the answer. - **Structure (30%):** Use of STAR method or logical flow. - **Communication (20%):** Clarity, tone, and professional language. diff --git a/CURRICULUM_DESIGN.md b/CURRICULUM_DESIGN.md index 09255b1..d9f6a3b 100644 --- a/CURRICULUM_DESIGN.md +++ b/CURRICULUM_DESIGN.md @@ -8,17 +8,17 @@ This foundational stage focuses on helping users understand their intrinsic moti ### Core Modules: -* **Values & Motivations Identification:** Guided exercises to uncover personal values, work preferences, and career drivers. -* **Skills Inventory & Transferability:** Tools to list existing skills, identify transferable skills from past experiences, and map them to various job functions. -* **Career Interest Profiling:** AI-driven assessments to match user profiles with potential career clusters and industries. -* **Goal Setting:** Structured frameworks for defining short-term and long-term career objectives. +- **Values & Motivations Identification:** Guided exercises to uncover personal values, work preferences, and career drivers. +- **Skills Inventory & Transferability:** Tools to list existing skills, identify transferable skills from past experiences, and map them to various job functions. +- **Career Interest Profiling:** AI-driven assessments to match user profiles with potential career clusters and industries. +- **Goal Setting:** Structured frameworks for defining short-term and long-term career objectives. ### AI Integration: -| AI Feature | Description | Algorithm/Methodology | -|:---|:---|:---| -| **Career Path Suggestion** | Analyzes user's skills, interests, and values to recommend relevant career paths and industries. | Natural Language Processing (NLP) for interest extraction, skill-to-job mapping databases, clustering algorithms for career similarity. | -| **Skill Gap Identification** | Compares user's current skills against target roles to highlight areas for development. | Skill taxonomy matching, keyword extraction, similarity scoring. | +| AI Feature | Description | Algorithm/Methodology | +| :--------------------------- | :----------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------- | +| **Career Path Suggestion** | Analyzes user's skills, interests, and values to recommend relevant career paths and industries. | Natural Language Processing (NLP) for interest extraction, skill-to-job mapping databases, clustering algorithms for career similarity. | +| **Skill Gap Identification** | Compares user's current skills against target roles to highlight areas for development. | Skill taxonomy matching, keyword extraction, similarity scoring. | ## 2. Build: Resume & Cover Letter Tailoring @@ -26,18 +26,18 @@ This stage equips users with the ability to create compelling application materi ### Core Modules: -* **Resume Building:** Step-by-step guidance on structuring resumes, selecting appropriate formats, and content creation. -* **Cover Letter Crafting:** Techniques for writing persuasive cover letters that highlight relevant experiences and motivations. -* **ATS Optimization:** Strategies for incorporating keywords and formatting resumes to pass ATS scans. -* **Portfolio Development:** Guidance for creating online portfolios for creative and technical roles. +- **Resume Building:** Step-by-step guidance on structuring resumes, selecting appropriate formats, and content creation. +- **Cover Letter Crafting:** Techniques for writing persuasive cover letters that highlight relevant experiences and motivations. +- **ATS Optimization:** Strategies for incorporating keywords and formatting resumes to pass ATS scans. +- **Portfolio Development:** Guidance for creating online portfolios for creative and technical roles. ### AI Integration: -| AI Feature | Description | Algorithm/Methodology | -|:---|:---|:---| -| **ATS Optimization Score** | Evaluates resume against a job description for keyword density, formatting, and overall ATS compatibility. | Keyword extraction, semantic similarity (BERT embeddings), rule-based scoring for formatting. | -| **Content Enhancement** | Suggests stronger action verbs, quantifies achievements, and refines bullet points for impact. | NLP for verb identification, sentiment analysis, pattern recognition for quantifiable metrics. | -| **Tailored Content Generation** | Generates customized resume sections or cover letter paragraphs based on job description and user's profile. | Generative AI (LLM) with prompt engineering, contextual understanding. | +| AI Feature | Description | Algorithm/Methodology | +| :------------------------------ | :----------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- | +| **ATS Optimization Score** | Evaluates resume against a job description for keyword density, formatting, and overall ATS compatibility. | Keyword extraction, semantic similarity (BERT embeddings), rule-based scoring for formatting. | +| **Content Enhancement** | Suggests stronger action verbs, quantifies achievements, and refines bullet points for impact. | NLP for verb identification, sentiment analysis, pattern recognition for quantifiable metrics. | +| **Tailored Content Generation** | Generates customized resume sections or cover letter paragraphs based on job description and user's profile. | Generative AI (LLM) with prompt engineering, contextual understanding. | ## 3. Connect: Job Search & Networking @@ -45,18 +45,18 @@ This stage focuses on effective job search strategies, networking, and leveragin ### Core Modules: -* **Job Search Strategy:** Techniques for identifying target companies, roles, and industries. -* **Networking & Outreach:** Best practices for informational interviews, LinkedIn networking, and professional event engagement. -* **Online Presence Management:** Optimizing LinkedIn profiles and other professional social media. -* **Application Tracking:** Tools for managing job applications and follow-ups. +- **Job Search Strategy:** Techniques for identifying target companies, roles, and industries. +- **Networking & Outreach:** Best practices for informational interviews, LinkedIn networking, and professional event engagement. +- **Online Presence Management:** Optimizing LinkedIn profiles and other professional social media. +- **Application Tracking:** Tools for managing job applications and follow-ups. ### AI Integration: -| AI Feature | Description | Algorithm/Methodology | -|:---|:---|:---| -| **Smart Job Matching** | Recommends job openings based on user's profile, skills, experience, and preferences. | Weighted sum algorithm (as defined in `mlService.ts`), collaborative filtering, content-based filtering, location-based services. | -| **Networking Message Drafts** | Generates personalized outreach messages for informational interviews or connection requests. | Generative AI (LLM) with user context and recipient information. | -| **Company Insights** | Provides AI-summarized information about target companies, culture, and recent news. | Web scraping, NLP for summarization, sentiment analysis. | +| AI Feature | Description | Algorithm/Methodology | +| :---------------------------- | :-------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | +| **Smart Job Matching** | Recommends job openings based on user's profile, skills, experience, and preferences. | Weighted sum algorithm (as defined in `mlService.ts`), collaborative filtering, content-based filtering, location-based services. | +| **Networking Message Drafts** | Generates personalized outreach messages for informational interviews or connection requests. | Generative AI (LLM) with user context and recipient information. | +| **Company Insights** | Provides AI-summarized information about target companies, culture, and recent news. | Web scraping, NLP for summarization, sentiment analysis. | ## 4. Refine: Interview Preparation & Skill Development @@ -64,20 +64,20 @@ This final stage prepares users for interviews through practice, feedback, and c ### Core Modules: -* **Behavioral Interview Practice:** Focus on the STAR method (Situation, Task, Action, Result) for answering common behavioral questions. -* **Technical Interview Practice:** Modules for Data Structures & Algorithms, System Design, and role-specific technical questions. -* **Case Study Interview Practice:** Frameworks and practice scenarios for analytical problem-solving. -* **Feedback & Iteration:** Tools for self-reflection and incorporating feedback into interview responses. -* **Skill Development Pathways:** Personalized learning recommendations to address identified skill gaps. +- **Behavioral Interview Practice:** Focus on the STAR method (Situation, Task, Action, Result) for answering common behavioral questions. +- **Technical Interview Practice:** Modules for Data Structures & Algorithms, System Design, and role-specific technical questions. +- **Case Study Interview Practice:** Frameworks and practice scenarios for analytical problem-solving. +- **Feedback & Iteration:** Tools for self-reflection and incorporating feedback into interview responses. +- **Skill Development Pathways:** Personalized learning recommendations to address identified skill gaps. ### AI Integration: -| AI Feature | Description | Algorithm/Methodology | -|:---|:---|:---| -| **Dynamic Question Generation** | Creates realistic behavioral, technical, and case study interview questions based on job roles and user profiles. | Generative AI (LLM) with question templates and contextual parameters. | -| **Interview Answer Evaluation** | Analyzes user responses for content, structure, communication, and confidence, providing a detailed score and actionable feedback. | NLP for semantic analysis, keyword matching, sentiment analysis, speech-to-text (for verbal responses), predefined scoring rubrics. | -| **STAR Method Adherence Check** | Specifically assesses if behavioral answers follow the STAR framework. | Pattern recognition, NLP for structural analysis. | -| **Personalized Skill Recommendations** | Suggests courses, tutorials, or projects to improve skills identified during mock interviews or skill gap analysis. | Collaborative filtering, content-based recommendations, knowledge graph traversal. | +| AI Feature | Description | Algorithm/Methodology | +| :------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- | +| **Dynamic Question Generation** | Creates realistic behavioral, technical, and case study interview questions based on job roles and user profiles. | Generative AI (LLM) with question templates and contextual parameters. | +| **Interview Answer Evaluation** | Analyzes user responses for content, structure, communication, and confidence, providing a detailed score and actionable feedback. | NLP for semantic analysis, keyword matching, sentiment analysis, speech-to-text (for verbal responses), predefined scoring rubrics. | +| **STAR Method Adherence Check** | Specifically assesses if behavioral answers follow the STAR framework. | Pattern recognition, NLP for structural analysis. | +| **Personalized Skill Recommendations** | Suggests courses, tutorials, or projects to improve skills identified during mock interviews or skill gap analysis. | Collaborative filtering, content-based recommendations, knowledge graph traversal. | ## Conclusion diff --git a/DEPLOYMENT_GUIDE.md b/DEPLOYMENT_GUIDE.md index 7617131..e0fcab7 100644 --- a/DEPLOYMENT_GUIDE.md +++ b/DEPLOYMENT_GUIDE.md @@ -1,9 +1,11 @@ # SprintWork Deployment Guide ## Overview + SprintWork is a full-stack TypeScript application with **Manus-integrated AI**, **TiDB Cloud database**, and **OAuth authentication**. This guide covers deployment to Vercel with all features enabled. ## Prerequisites + - GitHub account (repository already set up) - Vercel account (free tier available) - TiDB Cloud account (free tier available) @@ -12,6 +14,7 @@ SprintWork is a full-stack TypeScript application with **Manus-integrated AI**, ## Database Setup (TiDB Cloud) Your database is already configured: + - **Connection String**: `mysql://a2xXqbP1YKYZnPR.root:Ml8MTBkj61gN8MAS@gateway01.eu-central-1.prod.aws.tidbcloud.com:4000/sprintwork` - **Schema**: Automatically migrated via Drizzle ORM - **Free Tier**: 5GB storage, sufficient for MVP @@ -19,12 +22,14 @@ Your database is already configured: ## Deployment to Vercel ### Step 1: Connect GitHub Repository + 1. Go to [Vercel Dashboard](https://vercel.com/dashboard) 2. Click "Add New" → "Project" 3. Select "Import Git Repository" 4. Find and select `Samkele05/SprintWork` ### Step 2: Configure Environment Variables + In Vercel project settings, add these environment variables: ``` @@ -42,6 +47,7 @@ VITE_APP_ID=sprintwork ``` ### Step 3: Optional - Add OAuth Credentials + For third-party login (Google, GitHub, LinkedIn): ``` @@ -53,34 +59,40 @@ GITHUB_CLIENT_SECRET=[Your GitHub Client Secret] ``` ### Step 4: Deploy + Click "Deploy" and Vercel will automatically build and deploy your app. ## Features Included ### ✅ AI-Powered Career Tools + - **CV Tailoring**: AI-powered resume optimization for job descriptions - **Mock Interviews**: STAR-method-based interview practice with AI scoring - **Job Matching**: Intelligent job recommendations based on skills and experience - **Curriculum**: Personalized learning paths for skill development ### ✅ Authentication + - Manus OAuth (built-in) - Google OAuth (optional) - GitHub OAuth (optional) - LinkedIn OAuth (optional) ### ✅ Database + - TiDB Cloud MySQL (free tier) - Drizzle ORM for type-safe queries - Automatic schema migrations ### ✅ Frontend + - React with TypeScript - Vite for fast development - TailwindCSS for styling - Responsive design ### ✅ Backend + - tRPC for type-safe APIs - Manus LLM integration for AI features - Express.js server @@ -114,16 +126,19 @@ pnpm dev ## Troubleshooting ### Database Connection Issues + - Verify `DATABASE_URL` is correctly set - Check TiDB Cloud IP whitelist includes Vercel's IP ranges - Ensure SSL mode is set to `REQUIRED` ### OAuth Not Working + - Verify redirect URIs match your deployment URL - Check client IDs and secrets are correct - Ensure OAuth credentials are added to Vercel environment ### AI Features Not Working + - Verify `BUILT_IN_FORGE_API_KEY` is set - Check Manus API endpoint is reachable - Review server logs for API errors @@ -131,6 +146,7 @@ pnpm dev ## Support For issues or questions: + 1. Check the GitHub repository: https://github.com/Samkele05/SprintWork 2. Review the AI_CURRICULUM_DESIGN.md for feature details 3. Contact Manus support for API issues diff --git a/README.md b/README.md index 2efaa15..aa04436 100644 --- a/README.md +++ b/README.md @@ -6,20 +6,21 @@ ## Tech Stack -| Layer | Technology | -|---|---| +| Layer | Technology | +| ------------ | ------------------------------------------------------------- | | **Frontend** | React 19, TypeScript, Vite 7, TailwindCSS 4, Radix UI, Wouter | -| **Backend** | Node.js, Express, tRPC 11 | -| **Database** | MySQL / TiDB (via Drizzle ORM) | -| **Auth** | OAuth (Google, GitHub, LinkedIn) + JWT sessions | -| **AI/LLM** | OpenAI-compatible API (Gemini 2.5 Flash) | -| **Testing** | Vitest | +| **Backend** | Node.js, Express, tRPC 11 | +| **Database** | MySQL / TiDB (via Drizzle ORM) | +| **Auth** | OAuth (Google, GitHub, LinkedIn) + JWT sessions | +| **AI/LLM** | OpenAI-compatible API (Gemini 2.5 Flash) | +| **Testing** | Vitest | --- ## Features ### For Job Seekers + - **AI CV Tailoring** — Automatically tailor your resume to match job postings with ATS optimization - **Mock Interviews** — Practice behavioral, technical, case study, and general interviews with AI feedback and scoring - **Smart Job Matching** — ML-powered job recommendations based on your profile and skills @@ -30,12 +31,14 @@ - **Saved Searches** — Save job search queries with alert notifications ### For Recruiters + - **Post Jobs** — Create and publish job listings with full details - **Candidate Management** — Review applications and evaluate candidates - **Recruiter Dashboard** — Track hiring funnel and job posting metrics - **Direct Messaging** — Communicate with candidates directly ### Platform + - OAuth login (Google, GitHub, LinkedIn, Manus) - Light/Dark mode - Fully responsive (mobile-first) @@ -46,6 +49,7 @@ ## Getting Started ### Prerequisites + - Node.js 18+ - pnpm 10+ - MySQL or TiDB database @@ -134,26 +138,26 @@ SprintWork/ ## Application Routes -| Route | Description | -|---|---| -| `/` | Landing page | -| `/login` | OAuth login page | -| `/onboarding` | Role selection and profile setup | -| `/dashboard` | Job seeker dashboard | -| `/recruiter-dashboard` | Recruiter dashboard | -| `/job-search` | Job search with filters | -| `/job/:id` | Job detail page | -| `/applications` | Application tracker | -| `/profile` | User profile management | -| `/cv-builder` | Resume builder | -| `/mock-interviews` | Interview practice | -| `/interview/:id` | Live interview session | -| `/networking` | Professional connections | -| `/messages` | Direct messaging | -| `/skill-development` | Courses and learning paths | -| `/saved-searches` | Saved job searches | -| `/recruiter/jobs` | Recruiter job management | -| `/recruiter/post-job` | Post a new job | +| Route | Description | +| ---------------------- | -------------------------------- | +| `/` | Landing page | +| `/login` | OAuth login page | +| `/onboarding` | Role selection and profile setup | +| `/dashboard` | Job seeker dashboard | +| `/recruiter-dashboard` | Recruiter dashboard | +| `/job-search` | Job search with filters | +| `/job/:id` | Job detail page | +| `/applications` | Application tracker | +| `/profile` | User profile management | +| `/cv-builder` | Resume builder | +| `/mock-interviews` | Interview practice | +| `/interview/:id` | Live interview session | +| `/networking` | Professional connections | +| `/messages` | Direct messaging | +| `/skill-development` | Courses and learning paths | +| `/saved-searches` | Saved job searches | +| `/recruiter/jobs` | Recruiter job management | +| `/recruiter/post-job` | Post a new job | --- @@ -180,12 +184,14 @@ Messaging & Notifications ## Deployment ### Deploy to Vercel / Railway / Render + 1. Connect this GitHub repository 2. Set the environment variables listed above 3. Set build command: `pnpm build` 4. Set start command: `pnpm start` ### Deploy to a VPS + ```bash pnpm build NODE_ENV=production pnpm start diff --git a/client/index.html b/client/index.html index 27876de..e8b97c4 100644 --- a/client/index.html +++ b/client/index.html @@ -1,11 +1,11 @@ -
+ content="width=device-width, initial-scale=1.0, maximum-scale=1" + />