PlanGen is a fullstack project designed for project, task, and schedule management. It provides clean APIs, scalable architecture, and an intuitive frontend to help users plan and organize effectively.
The application is split into two parts:
- Backend (Express.js + MongoDB)
- Frontend (Vite + modern UI)
- 📅 Project & Task Management
- 👥 Multi-user Support
- 🔔 Notifications & Scheduling
- 📊 Dashboard & Analytics (planned)
- 🛡️ Secure Authentication & Authorization
- ⚡ Fast frontend powered by Vite
- 🌐 REST API backend powered by Express.js
- Frontend: Vite, React, TailwindCSS
- Backend: Node.js, Express.js
- Database: MongoDB (via MongoDB Atlas or local)
- Deployment: Vercel / Render / Railway
- Version Control: Git + GitHub
PlanGen/
├── backend/ # Backend service (Express + MongoDB)
│ ├── src/ # API routes, controllers, models
│ ├── server.js # Entry point
│ └── package.json # Backend dependencies
│
├── frontend/ # Frontend service (Vite + React)
│ ├── src/ # Components, pages, hooks
│ ├── index.html # Entry file
│ └── package.json # Frontend dependencies
│
├── .gitignore
├── README.md
└── package.json # Root config (optional)
Make sure you have installed:
- Node.js 18+
- MongoDB (or MongoDB Atlas)
cd backend
npm install
# Add environment variables (.env file)
PORT=5000
NODE_ENV=development
MONGO_URI=your-mongodb-uri
# Run the backend npm start
cd frontend
npm install
npm run dev
Visit the app at: http://localhost:5173
- Frontend can be deployed on Vercel, Netlify, or Render (Static Site).
- Backend can be deployed on Render, Railway, or Heroku.
Example: For Render
- Backend → Web Service (Node.js)
- Frontend → Static Site (build with
npm run build
, output =dist
)
Backend
npm run dev # Run with nodemon (dev mode)
npm start # Run production
Frontend
npm run dev # Local development
npm run build # Production build
npm run preview # Preview production build
API Endpoints (sample):
GET /api/tasks
→ Get all tasksPOST /api/tasks
→ Create a taskPUT /api/tasks/:id
→ Update taskDELETE /api/tasks/:id
→ Delete task
(Full documentation coming soon)
Contributions are welcome!
- Fork the repo
- Create your feature branch (
git checkout -b feature/YourFeature
) - Commit changes (
git commit -m 'Add new feature'
) - Push to branch (
git push origin feature/YourFeature
) - Open a Pull Request
This project is licensed under the MIT License.
Developed with ❤️ by Harsh