Skip to content

Samkele05/SprintWork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SprintWork — AI-Powered Job Market Platform

SprintWork is a comprehensive, full-stack AI-powered career platform that connects job seekers with opportunities, provides intelligent CV tailoring, mock interview coaching, and smart job matching — all in one place.


Tech Stack

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

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
  • Job Aggregation — Browse jobs from multiple sources in one place
  • Application Tracking — Monitor all your applications in a unified dashboard
  • Networking Hub — Connect with recruiters and professionals
  • Skill Development — Personalized learning paths and course recommendations
  • 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)
  • Role-based access control (Job Seeker / Recruiter)

Getting Started

Prerequisites

  • Node.js 18+
  • pnpm 10+
  • MySQL or TiDB database

Installation

# Clone the repository
git clone https://github.com/Samkele05/SprintWork.git
cd SprintWork

# Install dependencies
pnpm install

# Configure environment variables
cp .env.example .env
# Edit .env with your database URL, JWT secret, and OAuth credentials

Environment Variables

Create a .env file in the project root:

# Database
DATABASE_URL=mysql://user:password@localhost:3306/sprintwork

# Authentication
JWT_SECRET=your-secret-key

# OAuth
OAUTH_SERVER_URL=https://your-oauth-server
VITE_APP_ID=your-app-id
VITE_OAUTH_PORTAL_URL=https://your-oauth-portal

# AI/LLM (optional)
BUILT_IN_FORGE_API_URL=https://forge.manus.im
BUILT_IN_FORGE_API_KEY=your-api-key

Database Setup

pnpm db:push

Development

pnpm dev
# App available at http://localhost:3000

Production Build

pnpm build
pnpm start

Project Structure

SprintWork/
├── client/                 # React frontend (Vite)
│   ├── src/
│   │   ├── _core/          # Auth hooks, utilities
│   │   ├── components/     # Reusable UI components
│   │   ├── pages/          # Route-level page components
│   │   └── lib/            # tRPC client, utilities
├── server/                 # Express + tRPC backend
│   ├── _core/              # Auth, OAuth, LLM, Vite integration
│   ├── services/           # AI, CV tailoring, ML, scraping services
│   ├── auth.ts             # Role-based authorization
│   ├── db.ts               # Database query layer
│   ├── routers.ts          # tRPC router definitions
│   └── storage.ts          # Storage utilities
├── shared/                 # Shared types and constants
├── drizzle/                # Database schema and migrations
└── package.json

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

Application Flow

Entry Point (/)
    ↓
Login / OAuth Sign In
    ↓
Onboarding — Role Selection (Job Seeker or Recruiter)
    ↓
Role-specific Dashboard
    ↓
Main Features (search, apply, interview, network)
    ↓
Profile Management & Settings
    ↓
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

pnpm build
NODE_ENV=production pnpm start

Team

  • Samkele Lepadima — Project Lead & Developer

Support & Contact


License

This project is licensed under the MIT License — see the LICENSE file for details.


Made with passion for innovation in employment technology.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors