A modern, full-stack project management application built with NestJS and Next.js
Project-Planner is a comprehensive project management solution that empowers teams to collaborate effectively, track progress, and deliver projects on time. Built with modern technologies and best practices, it offers an intuitive interface for managing projects, teams, and workflows.
- Secure user registration and login
- JWT-based authentication
- Role-based access control
- Password encryption and validation
- Create & Organize: Set up projects with detailed descriptions, deadlines, and priorities
- Progress Tracking: Monitor project status and completion rates
- Task Management: Break down projects into manageable tasks
- Timeline Views: Visualize project schedules and milestones
- Team Creation: Build and manage project teams
- Member Assignment: Assign team members to specific projects and tasks
- Role Management: Define roles and permissions for team members
- Communication: Built-in collaboration tools for team coordination
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Real-time Updates: Live synchronization across all devices
- Intuitive UI: Clean, modern interface built with Tailwind CSS
- Dark/Light Mode: Customizable theme preferences
- NestJS - Scalable Node.js framework with TypeScript
- Prisma - Next-generation ORM for database management
- TypeScript - Type-safe development
- PostgreSQL - Robust relational database
- JWT - Secure authentication tokens
- Next.js 14+ - React framework with App Router
- TypeScript - Enhanced developer experience with type safety
- Tailwind CSS - Utility-first CSS framework
- React Hooks - Modern state management
- Responsive Design - Mobile-first approach
Ensure you have the following installed on your system:
- Node.js v18.17+ (Download)
- npm v9+ or pnpm v8+ (Install pnpm)
- PostgreSQL v13+ (Download)
- Git (Download)
-
Clone the repository
git clone https://github.com/hamzabenarfa/Project-Planner.git cd Project-Planner -
Install dependencies
# Backend dependencies cd backend pnpm install # Frontend dependencies cd ../frontend pnpm install
-
Environment Configuration
Create
.envfiles in both backend and frontend directories:Backend (
backend/.env):DATABASE_URL="postgresql://username:password@localhost:5432/project_planner" JWT_SECRET="your-super-secret-jwt-key-here" JWT_EXPIRES_IN="7d" PORT=3001
Frontend (
frontend/.env.local):NEXT_PUBLIC_API_URL=http://localhost:3001 NEXTAUTH_SECRET="your-nextauth-secret-here" NEXTAUTH_URL=http://localhost:3000
-
Database Setup
cd backend # Generate Prisma client npx prisma generate # Run database migrations npx prisma migrate dev --name init # (Optional) Seed the database with sample data npx prisma db seed
-
Start the Development Servers
Open two terminal windows:
Terminal 1 - Backend:
cd backend pnpm run start:devTerminal 2 - Frontend:
cd frontend pnpm run dev -
Access the Application
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- Register an Account: Create your user account or log in if you already have one
- Create Your First Project: Set up a new project with description, timeline, and goals
- Build Your Team: Invite team members and assign roles
- Plan & Execute: Break down your project into tasks and start collaborating
Project Creation:
- Navigate to "Projects" → "New Project"
- Fill in project details, set deadlines, and define objectives
- Assign team members and set permissions
Team Management:
- Go to "Teams" → "Create Team"
- Add members by email invitation
- Define roles and access levels
Task Tracking:
- Within each project, create tasks and subtasks
- Set priorities, due dates, and assignees
- Track progress with status updates
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with ❤️ by hamzabenarfa
- Inspired by modern project management tools
- Thanks to all contributors and the open-source community
Need help? Have questions?
- 📧 Email: hamzabenarfa4@gmail.com
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions