AI-powered shift scheduler — full-stack portfolio project
Live demo: https://shiftwise-app.vercel.app
API: https://shiftwise-0sin.onrender.com/api/health
Docs: https://irenaproj.github.io/shiftwise/
A workforce management app where managers can schedule employees, handle shift swaps, and use AI to resolve scheduling conflicts. Built to demonstrate full-stack engineering across database design, REST API, auth, real-time updates, and a polished React UI.
Current milestone: Managers can register, create a workspace, manage team members, define skills and shift templates, set per-slot demand forecasts, and record employee availability. Full stack wired end-to-end with auth, RBAC, Zod validation, and a comprehensive test suite (unit, integration, E2E).
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Vite, Tailwind CSS |
| State | Zustand (client), TanStack Query (server) |
| Backend | Node.js, Express, TypeScript |
| Database | PostgreSQL via Prisma ORM |
| Auth | JWT (access) + httpOnly cookie (refresh) |
| Dates | date-fns v4, @date-fns/utc, @date-fns/tz |
| Testing | Jest + Supertest (BE), Vitest + Playwright (FE) |
| Container | Docker + nginx |
| Deployment | Vercel (FE) + Render (BE) + Neon (DB) |
| CI/CD | GitHub Actions |
git clone https://github.com/irenaProj/shiftwise.git
cd shiftwise
npm install
cd backend && cp .env.example .env # fill in DATABASE_URL + JWT secrets
npm run db:migrate && npm run db:seed
cd .. && npm run dev- Frontend: http://localhost:5173
- Backend: http://localhost:3001
- Login:
will.power@demo.com/password123
| Doc | Description |
|---|---|
| Architecture | System design, data model, monorepo structure |
| API Reference | Endpoints, auth, error codes |
| Testing | Test strategy, running tests, CI |
| Deployment | Render, Vercel, Neon, GitHub Actions |
| Docker | Local Docker setup, Codespaces notes |
| Dates Package | @shiftwise/dates design and usage |
| GitHub Setup | Secrets, Pages, branch protection, Codespaces |
| API Docs (TypeDoc) | Generated docs from JSDoc comments |
- Milestone 1 — Project scaffold, schema, Express app
- Milestone 2 — Auth: register, login, JWT, refresh token rotation
- Milestone 3 — Employee management CRUD
- Shared dates package — UTC adapter + display facade
- Docker — multi-stage builds, docker-compose, nginx
- CI/CD — GitHub Actions, Render deploy hooks, Vercel auto-deploy
- Testing — Jest + Supertest backend tests, Vitest + Playwright E2E
- Milestone 4 — Skills, shift templates, forecast & availability
- Milestone 5 — Constraint-based schedule generator
- Milestone 6 — AI integration (Claude API)
- Milestone 7–8 — Calendar UI with drag-and-drop
- Milestone 9 — Real-time updates (Socket.io)
- Milestone 10 — Shift swap requests