Taskora is a modern, full-stack project management application built with the MERN stack (MongoDB, Express.js, React, Node.js). It helps you organize your projects efficiently with features like priority filtering, dark mode, and a responsive user interface.
- Authentication: Secure Login and Registration using JWT.
- Project Management: Create, Read, Update, and Delete (CRUD) projects.
- Filtering: Filter projects by status (Pending/Completed) and Priority (High/Medium/Low).
- Dashboard: Overview of project statistics and recent activity.
- Theming: Built-in Dark Mode and Light Mode toggle.
- Responsive Design: Optimized for desktop and mobile devices.
- Frontend: React (Vite), React Router, Axios, Custom CSS.
- Backend: Node.js, Express.js.
- Database: MongoDB (Mongoose).
- Authentication: JSON Web Tokens (JWT) & Bcrypt.
Before you begin, ensure you have the following installed:
Follow these steps to set up the project locally.
If you haven't already, navigate to the project folder:
cd TaskoraNavigate to the server folder and install dependencies:
cd Taskora-Server/server
npm installConfiguration:
Ensure you have a .env file in the server directory with the following variables:
PORT=5005
MONGO_URI=mongodb://127.0.0.1:27017/taskora
JWT_SECRET=your_secret_key_hereStart the backend server:
npm run devThe server will run on http://localhost:5005
Open a new terminal, navigate to the client folder, and install dependencies:
cd client
npm installStart the frontend development server:
npm run devThe client will run on http://localhost:5173 (or similar port shown in terminal)
Taskora/
├── client/ # Frontend React Application
│ ├── src/
│ │ ├── components/ # Reusable UI components (Navbar, Sidebar, Modals)
│ │ ├── contexts/ # React Contexts (Auth, Theme)
│ │ ├── pages/ # Application Pages (Dashboard, Tasks, Login)
│ │ └── App.css # Global Styles & Theming
│ └── package.json
│
└── Taskora-Server/ # Backend Node.js Application
└── server/
├── db/ # Database connection
├── config/ # Middleware configuration
├── error-handling/ # Global error handlers
├── models/ # Mongoose Database Models
├── routes/ # API Routes (Auth, Projects)
└── server.js # Entry Point
- Register a new account.
- Login to access your dashboard.
- Use the "Add New Project" button to create projects.
- Use the Sidebar to navigate between Dashboard, All Projects, Pending, and Completed.
- Use the Priority Buttons (High, Medium, Low) to filter your view.
- Toggle the Sun/Moon icon in the navbar to switch themes.
Created for IronHack Project