This repository contains the React + TypeScript frontend for the Multi-Tenant Task Manager application.
The frontend provides the user interface for tenant-aware task management, authentication, and tenant-specific theming. It was bootstrapped with Create React App (TypeScript template).
src/— application source codeapi/— backend API helpersauth/— authentication helpers and JWT handlingcomponents/— shared UI components (e.g.,NavBar)context/— React contexts (AuthContext, TenantThemeContext)pages/— page components (Login, Signup, Tasks, Admin, Unauthorized)routes/— route guards (ProtectedRoute)themes/— tenant theme definitionsutils/— tenant utilities
- Node.js (LTS recommended, 16+)
- npm (or yarn)
-
Install dependencies
npm install
-
Start the development server
npm start
By default the app serves at http://localhost:3000
-
Build for production
npm run build
-
Run tests
npm test
This frontend expects a backend API (the companion MultiTenantTaskManagerBackend project) to be running. The API base URL is configured in src/api/api.ts — update it if your backend runs on a non-standard host or port. Ensure CORS is configured on the backend to allow requests from the frontend origin (e.g., http://localhost:3000).
Each tenant gets their own unique theme and admin interface. Here are some examples:
Professional dark theme with modern UI elements
Clean, minimal light theme focused on simplicity
Modern glass-morphism design with subtle transparency
- Tenant-specific themes are in
src/themes/and applied viaTenantThemeContext. - Authentication is managed with JWTs; check
src/authandsrc/context/AuthContext.tsxfor flow details. - If you change API endpoints, update
src/api/api.ts.
If you want to run both frontend and backend locally, start the backend (commonly on port 8080) and then run npm start from this folder. Use the app's signup/login flows to create tenants and users for testing.
See the repository root for license details (if provided).