Kaizen is a modern, high-performance workspace application designed to help teams stay aligned, communicate effectively, and track their sprint progress without the noise. Built on the MERN stack with a beautifully crafted React frontend and a robust Express/MongoDB backend, Kaizen replaces disjointed workflows with a unified, cohesive experience.
- Dynamic Dashboard: Track your sprint progress, daily schedules, and team consistency (streaks & participation) all at a glance.
- Team Standups: Log daily blockers, tasks, and updates. Includes real-time calendar tracking and sprint metric generation.
- Unified Chat & Channels: Slack-like team channels and DMs with real-time layouts, modern chat bubbles, emojis, and unread receipts.
- Modular Architecture: Frontend components and states are highly cohesive and loosely coupled utilizing React Contexts for independent feature domains (
AuthContext,MeetingsContext,ChatContext, etc.). - Theme & Aesthetics: Glassmorphism, tailored HSL color palettes, subtle micro-animations, and fluid responsive design powered by Tailwind CSS.
- User Settings: Fully integrated user profile management where users can set their avatars, roles, and emails with direct MongoDB syncing.
- React (v19) with Vite for ultra-fast development and building
- Tailwind CSS (v4) for modern, utility-first styling
- FullCalendar for interactive sprint and meeting tracking
- Lucide React for beautiful, consistent iconography
- Node.js & Express.js (v5) for robust REST API routing
- MongoDB & Mongoose (v9) for flexible, document-based data storage
- JWT & bcrypt for secure user authentication and authorization
- CORS & dotenv for secure cross-origin requests and environment management
The project is structured into two main independent directories for optimal separation of concerns:
KaizenStandUpLog/
├── Backend/ # Node.js + Express API server
│ ├── controllers/ # Request handlers (user, chat, groups, meetings, etc.)
│ ├── models/ # Mongoose schemas (MongoDB)
│ ├── routes/ # Express API routes
│ ├── server.js # Entry point and server configuration
│ ├── seed.js # Database seeding utility
│ └── package.json # Backend dependencies
│
├── Frontend/ # React + Vite Client
│ ├── src/
│ │ ├── api/ # API service wrappers (fetch clients)
│ │ ├── components/ # Reusable UI components (Modals, Toast, Skeleton, etc.)
│ │ │ ├── dashboard/ # Dashboard-specific components (SprintPanel, Calendar)
│ │ │ └── ui/ # Generic atomic UI elements
│ │ ├── context/ # React Context providers (Auth, Chat, Meetings, Team)
│ │ ├── hooks/ # Custom React hooks (useToast, useCalendar)
│ │ ├── pages/ # Primary route views (Dashboard, History, Settings, Teams)
│ │ ├── App.jsx # Main application shell and router
│ │ └── index.css # Global styles and Tailwind configuration
│ ├── index.html
│ ├── vite.config.js # Vite configuration
│ └── package.json # Frontend dependencies
└── README.md
Open a terminal and navigate to the Backend directory:
cd Backend
npm installCreate a .env file inside the Backend directory and configure your environment variables:
MONGO_URL=mongodb+srv://<your_username>:<your_password>@cluster0.mongodb.net/?appName=Cluster0
PORT=5001
JWT_SECRET=your_super_secret_jwt_keyStart the backend development server:
npm run dev(The API will be available at http://localhost:5001)
Open a new terminal and navigate to the Frontend directory:
cd Frontend
npm install(Optional) Create a .env file in the Frontend directory if you need to override the default API URL:
VITE_API_URL=http://localhost:5001Start the Vite development server:
npm run dev(The React application will be available at http://localhost:5173)
Kaizen is 100% deployment-friendly and can easily be deployed on platforms like Render, Vercel, or Heroku.
-
Frontend Deployment (Vercel/Render Static Site):
- Build command:
npm run build - Publish directory:
dist - Ensure to set
VITE_API_URLenvironment variable to your production backend URL.
- Build command:
-
Backend Deployment (Render Web Service/Heroku):
- Build command:
npm install - Start command:
node server.js - Ensure to set
MONGO_URLandJWT_SECRETenvironment variables.
- Build command:
(Note: If deploying as two separate services, ensure your frontend environment variables point to your production backend API URL).
While Kaizen is highly functional, there are several exciting avenues for future expansion:
- WebSocket Integration (Socket.io): Transition the chat and standup updates from REST polling to fully real-time bidirectional WebSockets.
- Push Notifications: Integrate browser-level push notifications to alert users when they are mentioned in a channel or when a new standup is posted.
- OAuth Authentication: Allow users to log in using Google, GitHub, or Slack credentials for frictionless onboarding.
- Advanced Analytics & Reporting: Create detailed PDF/CSV exports of sprint productivity, blocker resolutions, and team velocity over time.
- Single Service Deployment Refactoring: Add express static routing to the backend to seamlessly serve the built Vite frontend from a single web service.