A full-stack project management and collaboration platform inspired by Jira and Trello. This application enables teams to seamlessly manage workspaces, track tasks across Kanban boards, and collaborate in real-time.
- Secure JWT-based authentication (Register, Login, Session Management).
- Role-based access control (Admin, User).
- Encrypted passwords using
bcryptjs.
- Create distinct projects/workspaces.
- Manage team members within each project.
- Customized project keys (e.g.,
PR-1,TASK-5) and branding colors.
- Interactive drag-and-drop task management powered by
@hello-pangea/dnd. - Real-time synchronization across all connected clients via
Socket.IO. (If user A moves a task to 'Done', user B sees it instantly without refreshing). - Columns for
To Do,In Progress, andDonestatuses.
- Create, view, edit, and delete tasks.
- Assign tasks to specific team members.
- Visual indicators for task priorities (
Low,Medium,High,Critical). - Due dates and attachment tracking.
- Real-time commenting system with user avatars and timestamps.
- Mention users in comments (coming soon).
- In-app notification system tracking task assignments, updates, and mentions.
- Node.js installed (v18+ recommended)
- MongoDB instance running (Local or MongoDB Atlas)
First, install dependencies for both the backend and frontend.
# Install backend dependencies
cd backend
npm install
# Install frontend dependencies
cd ../frontend
npm installCreate .env files in both directories.
Backend (backend/.env):
NODE_ENV=development
PORT=5001
MONGO_URI=mongodb://localhost:27017/jiraclone # Or your MongoDB Atlas URI
JWT_SECRET=your_super_secret_jwt_key
JWT_EXPIRE=7d
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
CLIENT_URL=http://localhost:5174Frontend (frontend/.env):
VITE_API_URL=http://localhost:5001/apiOpen two separate terminal windows.
Terminal 1 (Backend):
cd backend
npm run devTerminal 2 (Frontend):
cd frontend
npm run devThe application should now be running.
- Frontend:
http://localhost:5174 - Backend API:
http://localhost:5001
(Replace these with actual screenshots of your application)
- Kanban Board: Highlighting the drag-and-drop interface.
- Task Details: Showing the commenting system and task metadata.
- Dashboard: Showing the project overview.
To deploy the application in production mode using Docker:
- Docker and Docker Compose installed.
Run the following command in the root directory:
docker-compose -f docker-compose.prod.yml up --build -dThis will:
- Build the frontend in a temporary container.
- Copy the build to the backend container.
- Start a MongoDB instance and the Node.js server.
- Serve the app at
http://localhost:5001.
Make sure to update the environment variables in docker-compose.prod.yml (especially JWT_SECRET) before deploying.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.