Skip to content

Arghyahub/SprintMaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SprintMaster

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.

🚀 Tech Stack

Frontend

  • 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

Backend

  • Runtime: Node.js
  • Framework: Express.js
  • Language: TypeScript
  • Database: PostgreSQL
  • ORM: Prisma
  • Authentication: JWT, Bcrypt
  • Security: Helmet, CORS

📋 Prerequisites

Before you begin, ensure you have the following installed:

🛠️ Getting Started

Follow these steps to get the project running locally.

1. Database Setup

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: admin@admin.com
    • Password: admin

2. Backend Setup

Navigate to the backend directory and set up the server.

cd backend
  1. Install Dependencies:

    npm install
  2. Environment Configuration: Create a .env file in the backend directory based on .env.example:

    cp .env.example .env

    Ensure the DATABASE_URL matches 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"
  3. 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
  4. Start the Server:

    npm run dev

    The backend runs on http://localhost:5000.

3. Frontend Setup

Open a new terminal, navigate to the frontend directory, and set up the client.

cd frontend
  1. Install Dependencies:

    npm install
  2. Environment Configuration: Create a .env file in the frontend directory based on .env.example:

    cp .env.example .env.local

    Set the API URL:

    NEXT_PUBLIC_API_URL="http://localhost:5000/api"
  3. Start the Development Server:

    npm run dev

    The frontend runs on http://localhost:3000.

🌐 Accessing the Application

📜 Scripts

Backend (/backend)

  • 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).

Frontend (/frontend)

  • 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.

🤝 Contributing

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/amazing-feature).
  3. Commit your changes (git commit -m 'Add some amazing feature').
  4. Push to the branch (git push origin feature/amazing-feature).
  5. Open a Pull Request.

About

Manage all your tasks, your routine and you team in one place with the Kanban board

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages