WorkspaceOS is a modern workforce management platform built for fast-moving employers who need a lightweight system for onboarding, managing, and tracking employees across organizations.
The platform provides employer and employee portals, secure authentication, worker management, performance tracking, and organization-level isolation using admin codes.
- Employer registration and authentication
- Secure admin-code based organization isolation
- Add and manage workers
- Generate employee credentials
- Worker search and filtering
- Performance and workforce tracking
- Dashboard statistics
- Protected employer routes
- Employee login portal
- View assigned employer information
- Access personal worker profile
- View ratings and role information
- Protected employee routes
- JWT authentication
- Cookie-based session handling
- Password hashing with bcrypt
- MongoDB database integration
- REST API architecture
- Responsive modern UI
- TailwindCSS + shadcn/ui components
- SWR-powered frontend data fetching
- React 18
- TypeScript
- Vite
- TailwindCSS
- shadcn/ui
- React Router
- SWR
- React Hook Form
- Zod
- Radix UI
- Node.js
- Express
- TypeScript
- MongoDB
- Mongoose
- JWT
- bcryptjs
- Nodemailer
workspaceos/
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── hooks/
│ │ ├── lib/
│ │ ├── pages/
│ │ └── test/
│ └── package.json
│
├── backend/
│ ├── src/
│ │ ├── config/
│ │ ├── controllers/
│ │ ├── middleware/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── services/
│ │ ├── types/
│ │ ├── utils/
│ │ └── server.ts
│ └── package.json
│
└── README.mdMake sure you have the following installed:
- Node.js 22+
- npm
- MongoDB Atlas account or local MongoDB instance
git clone <your-repository-url>
cd workspaceoscd frontend
npm installcd ../backend
npm installCreate a .env file inside the backend directory.
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLIENT_URL=http://localhost:8080
EMAIL_USER=your_email
EMAIL_PASS=your_email_passwordYou may also need a frontend .env.local depending on your API configuration.
Example:
VITE_API_URL=http://localhost:5000Inside the backend folder:
npm run devBackend runs on:
http://localhost:5000Inside the frontend folder:
npm run devFrontend runs on:
http://localhost:8080npm run dev
npm run build
npm run preview
npm run lint
npm run testnpm run dev
npm run build
npm start
npm run typecheckWorkspaceOS uses JWT authentication with secure cookies.
- Employer registers
- Admin code is generated/stored
- Employer logs in
- Employer creates workers
- Worker credentials are distributed
- Employee receives credentials
- Employee logs in
- Employee accesses protected dashboard
Base URL:
/api/v1Typical endpoints include:
POST /register
POST /login
POST /employee/login
GET /employees
POST /employees
PATCH /employees/:id
DELETE /employees/:id- Responsive dashboard layouts
- Elegant onboarding experience
- Modern gradients and glassmorphism-inspired design
- Reusable component architecture
- Accessible UI primitives from Radix UI
Frontend testing is configured with:
- Vitest
- Testing Library
- JSDOM
Run tests:
npm run testThe frontend is configured for deployment with Vercel.
The backend can be deployed on:
- Render
- Railway
- Fly.io
- VPS providers
Ensure environment variables are configured properly in production.
- Role-based permissions
- Analytics dashboard
- Payroll integrations
- Attendance tracking
- Team messaging
- File uploads
- Notifications system
- Multi-tenant scaling improvements
WorkspaceOS includes:
- Password hashing
- JWT authentication
- Protected routes
- Organization isolation using admin codes
- HTTP-only cookies
- CORS configuration
This project is licensed under the ISC License.
Built by Opeyemi Oyeboade.