SprintMaster is a modern, full-stack project management application designed to help teams streamline their workflow. It offers a seamless experience for task management, sprint planning, and team collaboration.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4, Material UI (MUI), Radix UI
- State Management: Zustand
- Drag & Drop: dnd-kit
- Charts: MUI X Charts
- Icons: Lucide React, MUI Icons
- Runtime: Node.js
- Framework: Express.js
- Language: TypeScript
- Database: PostgreSQL
- ORM: Prisma
- Authentication: JWT, Bcrypt
- Security: Helmet, CORS
Before you begin, ensure you have the following installed:
- Node.js (v20 or higher recommended)
- npm (usually comes with Node.js)
- Docker Desktop
Follow these steps to get the project running locally.
Start the PostgreSQL database and pgAdmin using Docker Compose.
docker-compose up -d- PostgreSQL: Running on port
5432 - pgAdmin: Running on port
5050(http://localhost:5050)- Email:
[email protected] - Password:
admin
- Email:
Navigate to the backend directory and set up the server.
cd backend-
Install Dependencies:
npm install
-
Environment Configuration: Create a
.envfile in thebackenddirectory based on.env.example:cp .env.example .env
Ensure the
DATABASE_URLmatches your Docker configuration:DATABASE_URL="postgresql://admin:admin@localhost:5432/mydb" PORT=5000 FRONTEND_URL="http://localhost:3000" DEV_ENV="development" ACCESS_SECRET="your_access_secret_here" REFRESH_SECRET="your_refresh_secret_here"
-
Database Migration: Generate Prisma client and push the schema to the database (if migrations exist, otherwise just generate):
npx prisma generate # If you have migrations: npx prisma migrate dev # Or to sync schema directly: npx prisma db push
-
Start the Server:
npm run dev
The backend runs on
http://localhost:5000.
Open a new terminal, navigate to the frontend directory, and set up the client.
cd frontend-
Install Dependencies:
npm install
-
Environment Configuration: Create a
.envfile in thefrontenddirectory based on.env.example:cp .env.example .env.local
Set the API URL:
NEXT_PUBLIC_API_URL="http://localhost:5000/api"
-
Start the Development Server:
npm run dev
The frontend runs on
http://localhost:3000.
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Database GUI (pgAdmin): http://localhost:5050
npm run dev: Starts the development server with Nodemon.npm run build: Compiles TypeScript and generates Prisma client.npm start: Runs the compiled application.npm run seed: Seeds the database (if applicable).
npm run dev: Starts the Next.js development server.npm run build: Builds the application for production.npm start: Starts the production server.npm run lint: Lints the codebase.
- Fork the repository.
- Create a new branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.