WorkSync is a multi-tenant workflow and task management platform built for teams and organizations to collaborate securely within isolated workspaces.
The project focuses on solving practical backend engineering problems like:
- tenant isolation
- role-based access control
- secure authentication
- scalable backend architecture
- efficient task management
The idea behind WorkSync was to move beyond simple CRUD applications and build something closer to how real SaaS collaboration platforms work.
Each organization works inside its own isolated workspace while sharing the same backend infrastructure.
- Every record is associated with a
tenant_id - Users can only access data belonging to their organization
- Prevents cross-organization data access
- JWT-based authentication
- Password hashing using bcrypt
- Role-Based Access Control (RBAC)
- Manage organization
- Invite team members
- Create and manage tasks
- View assigned tasks
- Update task progress
- Create and manage tasks
- Update task status
- Pagination support for large datasets
- Tenant-aware task queries
- Organization-specific task visibility
The dashboard provides organization-level insights such as:
- Total Tasks
- Completed Tasks
- Pending Tasks
Analytics are generated using optimized SQL queries on the backend.
Admins can generate invite codes for new members.
Features:
- Secure invite flow
- Automatic organization mapping
- Role provisioning during onboarding
- Expiring invite codes
PostgreSQL transactions are used for workflows like organization creation and invite-based onboarding to ensure related database operations are completed safely and consistently.
- React.js
- Tailwind CSS
- Node.js
- Express.js
- PostgreSQL
- JWT
- bcrypt
The backend follows a layered architecture pattern:
- Controllers → Handle request/response logic
- Services → Business logic layer
- Middleware → Authentication, authorization, and tenant validation
- Routes → API endpoint management
Security is implemented across multiple layers:
- Protected routes using JWT authentication
- Role-based frontend rendering
- Tenant validation on backend queries
- Secure password hashing using bcrypt
- Backend validation to prevent unauthorized data access
All project screenshots are available inside the /screenshots folder.
Included Screenshots:
- Authentication & Organization Setup(
) - Admin Dashboard(
) - Task Management(
) - Invite System(
) - Member Dashboard(
) - Role-Based Access Views
git clone https://github.com/your-username/worksync.git
cd worksynccd backend
npm installCreate a .env file inside the /backend directory:
PORT=5000
DB_USER=postgres
DB_HOST=localhost
DB_NAME=worksync_db
DB_PASSWORD=yourpassword
DB_PORT=5432
JWT_SECRET=your_secret_keyStart the backend server:
npm run devCreate a PostgreSQL database named:
worksync_dbRun your SQL initialization scripts to create:
- organizations
- users
- tasks
- logs
cd frontend
npm install
npm startSwagger documentation is available at:
http://localhost:5000/api-docsBuilding WorkSync helped me understand:
- multi-tenant system design
- RBAC implementation
- backend architecture patterns
- secure API development
- SQL query optimization
- scalable project structure
- Rate limiting per tenant
- Email-based invitation system
- Real-time notifications using WebSockets