TaskForge is a sleek and modern project management web app tailored for freelancers, developers, startups, and creatives who need to stay on top of their game.
Here’s what’s under the hood of this monorepo:
git clone https://github.com/Sumith-Kumar-Saini/taskforge.git
cd taskforge
npm installMake sure to copy environment templates into both the frontend and backend directories.
# In client/
cp .env.example .env
# In server/
cp .env.example .envRun both client and server concurrently:
npm run devThe repo follows a simple and scalable monorepo setup.
taskforge/
├── client/ # Frontend - React + Vite + Redux
│ ├── public/ # Static files
│ ├── src/ # Source files
│ │ ├── assets/ # Images, icons, and other static assets
│ │ ├── components/ # Reusable UI components
│ │ ├── constants/ # Constant values
│ │ ├── features/ # Redux slices and domain logic
│ │ ├── hooks/ # Custom React hooks
│ │ ├── layouts/ # Shared layouts (e.g., Header, Sidebar)
│ │ ├── lib/ # Utility libraries and helper functions
│ │ ├── pages/ # Route-based pages
│ │ ├── router/ # React Router configs
│ │ ├── store/ # Redux store configuration
│ │ ├── App.jsx # Root component
│ │ ├── index.css # Global styles
│ │ └── main.jsx # Entry point
│ ├── index.html # HTML template
│ ├── vite.config.js # Vite config
│ ├── package.json # Client dependencies & scripts
│ └── .env.example # Sample environment config
│
├── server/ # Backend - Node.js + Express + MongoDB
│ ├── src/
│ │ ├── config/ # App configuration (e.g., DB, CORS)
│ │ ├── constants/ # Static values, enums, etc.
│ │ ├── controllers/ # Business logic for routes
│ │ ├── middlewares/ # Custom Express middleware
│ │ ├── models/ # MongoDB models
│ │ ├── routes/ # API endpoints
│ │ ├── schemas/ # MongoDB schemas (Mongoose)
│ │ ├── services/ # Core service logic (e.g., DB, email, APIs)
│ │ ├── utils/ # Helper functions/utilities
│ │ ├── validators/ # Request validators using schemas
│ │ └── app.js # Sets up app (routes, middleware, etc.)
│ ├── server.js # Entry point – starts the server
│ ├── package.json # Server dependencies & scripts
│ └── .env.example # Sample environment config
│
├── .env.example # Shared/global env vars (optional)
├── .gitignore # Ignored files and directories
├── CONTRIBUTING.md # How to contribute (see below)
├── LICENSE # MIT License (see below)
├── README.md # This file
├── package.json # Monorepo-level scripts and tools
└── node_modules/ # Installed dependencies
| Command | Description |
|---|---|
npm run dev |
Starts both client and server |
npm run build |
Builds both apps for production |
npm run test |
Runs test suites (coming soon) |
Wanna contribute? We'd love that!
Check out CONTRIBUTING.md for guidelines on:
- Submitting pull requests
- Filing issues or feature requests
- Coding standards
- Branching strategy
Feel free to fork this repo, make improvements, and open a PR!
This project is licensed under the MIT License. You're free to use, modify, and distribute this project as long as the original copyright and license notice are included.