Employee Onboarding
Business & SaaS · React + Node (Express) · 14 @molecule/* packages
Onboarding portal with task checklists, documents, progress tracking, and welcome flows — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (18)
- Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - Checklist
/checklist(signed in) - Documents
/documents(signed in) - TeamDirectory
/team(signed in) - Timeline
/timeline(signed in) - Settings
/settings(signed in) - Landing
/ - TaskDetail
/checklist/:id(signed in) - DocumentViewer
/documents/:id(signed in) - TeamMemberProfile
/team/:id(signed in) - Notifications
/notifications(signed in) - Profile
/profile(signed in) - Training
/training(signed in) - TrainingModule
/training/:id(signed in)
Data model (12 tables)
- activities — id, actorId, action, resourceType, resourceId, metadata, createdAt
- activity_seen_status — userId, lastSeenActivityId, updatedAt
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- notifications — id, user_id, kind, title, message, payload, read_at, created_at
- onboarding_documents — id, user_id, onboarding_id, name, file_url, s3_key, content_type, category, …
- onboarding_tasks — id, user_id, onboarding_id, title, description, category, assignee_id, due_date, …
- onboarding_templates — id, user_id, name, role_label, default_duration_days, archived_at, created_at, updated_at
- onboardings — id, user_id, employee_id, template_id, manager_id, buddy_id, start_date, status, …
- team_members — id, user_id, person_user_id, name, role, department, manager_user_id, bio, …
- timeline_milestones — id, user_id, onboarding_id, label, target_at, achieved_at, created_at, updated_at
- training_modules — id, user_id, title, description, content, video_url, duration_minutes, quiz, …
- training_progress — id, user_id, onboarding_id, module_id, started_at, completed_at, quiz_score, created_at, …
API (10 handlers)
- documents
api/src/handlers/documents.ts - notifications
api/src/handlers/notifications.ts - onboarding-templates
api/src/handlers/onboarding-templates.ts - onboardings
api/src/handlers/onboardings.ts - profile
api/src/handlers/profile.ts - tasks
api/src/handlers/tasks.ts - team-members
api/src/handlers/team-members.ts - timeline-milestones
api/src/handlers/timeline-milestones.ts - training-modules
api/src/handlers/training-modules.ts - training-progress
api/src/handlers/training-progress.ts
Subscription tiers
free / pro / team — gated by: maxDocuments, maxOnboardings, maxTasks, advancedFeatures, canExport, retentionDays
Built from 14 @molecule/* packages
@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-payments-stripe@molecule/api-permissions-custom@molecule/api-resource-activity-feed@molecule/api-resource-payment@molecule/api-resource-user@molecule/api-uploads-s3@molecule/app-billing-react@molecule/app-data-table@molecule/app-drag-drop@molecule/app-file-upload
Required secrets
DATABASE_URLPostgreSQL connection stringS3_BUCKETS3 bucket for documentsMAILGUN_API_KEYMailgun API keyMAILGUN_DOMAINMailgun sending domain
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing