Weekly staff scheduling, without the spreadsheet chaos.
A lightweight scheduling tool for small teams to collect availability, plan shifts, and keep everyone on the same page.
ScheduleWork streamlines the weekly scheduling process for a small team. Employees submit their availability, and administrators use that information to plan shifts in one place.
The project focuses on a straightforward workflow, a responsive interface, and practical tools for day-to-day scheduling.
|
|
- Collect availability — Employees submit the days and times they can work.
- Review requests — Administrators review the team's availability for the week.
- Plan shifts — Administrators assign shifts and check for conflicts.
- View the schedule — Employees check their assigned shifts.
| Area | Technologies |
|---|---|
| Frontend | React 19, TypeScript, Vite |
| Backend & data | Supabase, PostgreSQL |
| Interactions | dnd-kit |
| Testing | Vitest |
| Deployment | Vercel |
- Node.js and npm
- A Supabase project with the project's database migrations applied
git clone https://github.com/hungdeniubeo/Schedulework-Web.git
cd Schedulework-Web
npm installCreate a .env.local file in the project root:
VITE_SUPABASE_URL=https://<project-ref>.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=<your-publishable-key>Use your own Supabase project values. Never put a Supabase service-role key in client-side environment variables.
npm run devnpm test
npm run buildTo preview the production build locally:
npm run previewsrc/ Application interface and scheduling logic
supabase/ Database migrations and Edge Functions
tests/ Automated tests
docs/ Project documentation
- Designed for a small internal team of up to 20 employees.
- Uses employee and administrator roles.
- Accounts are managed internally; there is no public sign-up flow.
- Keeps the product focused on availability and shift scheduling rather than unnecessary workforce-management features.
- Apply the repository's Supabase migrations and Row Level Security policies when configuring a project.
- Keep privileged credentials, including
SUPABASE_SERVICE_ROLE_KEY, on the server only. - The frontend should use only the Supabase URL and publishable key.
Built and maintained by @hungdeniubeo