A web application for tracking trainee onboarding progress.
- Dashboard: Overview of all trainees and their progress
- Trainees Management: Add, edit, and manage trainee profiles
- Program: Define weeks and tasks for the onboarding program
- Task Tracking: Track individual trainee progress on each task
- Activity Feed: Real-time activity log of all changes
- PDF Export: Generate task sheets for trainees
- Frontend: HTML, CSS, Alpine.js
- Backend: Supabase (PostgreSQL + Auth + RLS)
- Build: Vite + Bun
- Bun (v1.0 or later)
- Supabase CLI (for database migrations)
- A Supabase account
git clone git@github.com:afify/onboarding.git
cd onboardingbun installOr use the Makefile:
make install- Go to supabase.com and create a new project
- Wait for the project to be ready
- Go to Project Settings > API and copy:
- Project URL
- Anon public key
cp .env.example .envEdit .env and fill in your values:
VITE_SUPABASE_URL=https://your-project-id.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-key
VITE_COMPANY=YourCompany
VITE_DEBUG_CONSOLE=falsebunx supabase login
bunx supabase link --project-ref your-project-idYou can find your project ID in the Supabase dashboard URL or in Project Settings.
make pushOr manually:
bunx supabase db push- Go to your Supabase dashboard > Authentication > Users
- Click Add user > Create new user
- Enter email and password
- Copy the user's UUID from the users list
- Go to Table Editor > mentors table
- Insert a new row:
id: paste the user's UUIDname: Your Nameemail: same email used aboverole:admin
make devOr manually:
bun run devThe app will be available at http://localhost:5173
bun run buildThe built files will be in the dist/ directory.
To preview the production build:
bun run preview| Command | Description |
|---|---|
make dev |
Install dependencies and start dev server |
make install |
Install Bun and dependencies |
make push |
Push database migrations to Supabase |
make lint |
Run all linters (JS, HTML, CSS) |
make lint-fix |
Auto-fix linting issues |
bun run build |
Production build to dist/ |
bun run preview |
Preview production build |
├── index.html # Login page
├── dashboard.html # Main dashboard
├── trainees.html # Trainee management
├── program.html # Program management (weeks, tasks, categories, statuses)
├── tracking.html # Task progress tracking
├── tasks.html # Task PDF generation
├── admin.html # Admin panel (manage mentors)
├── js/ # JavaScript modules
├── css/ # Stylesheets
└── supabase/
└── migrations/ # Database migrations
BSD-3-Clause
