Skip to content

abdulhaqcode/project-management-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Management Application

A production-ready project management application built with a modular monolith architecture.

Architecture

  • Modular Monolith: Organized into clear layers and modules
  • Layered Architecture: UI → API → Service → Domain → Data
  • TypeScript Strict Mode: Enforced across all packages
  • PostgreSQL + Prisma: Type-safe database access
  • Turborepo: High-performance build system
  • pnpm: Fast, disk-efficient package manager

Project Structure

project-management-app/
├── apps/
│   ├── frontend/          # Frontend application (to be configured)
│   └── backend/           # Backend application (to be configured)
├── packages/
│   ├── shared/            # Shared types and utilities
│   ├── database/          # Prisma schema and database client
│   └── eslint-config/     # Shared ESLint configurations
├── .github/workflows/     # CI/CD pipelines
└── [config files]         # Root-level configuration

Prerequisites

  • Node.js >= 18.0.0
  • pnpm >= 8.0.0

Getting Started

Installation

pnpm install

Development

pnpm dev

Build

pnpm build

Linting

# Run linters
pnpm lint

# Format code
pnpm format

# Check formatting
pnpm format:check

Type Checking

pnpm type-check

Testing

pnpm test

Workspace Packages

@project-management-app/frontend

Frontend application (configuration pending)

@project-management-app/backend

Backend application (configuration pending)

@project-management-app/shared

Shared TypeScript types, utilities, and constants used across the monorepo.

@project-management-app/database

Prisma schema, migrations, and database client.

@project-management-app/eslint-config

Shared ESLint configurations for TypeScript and React.

Development Workflow

  1. Pre-commit Hooks: Husky + lint-staged automatically format and lint staged files
  2. CI Pipeline: GitHub Actions runs on every push and PR
  3. Type Safety: Strict TypeScript configuration enforced everywhere
  4. Code Quality: ESLint + Prettier ensure consistent code style

CI/CD

The project uses GitHub Actions for continuous integration:

  • Lint and Test: Runs ESLint, type checking, formatting checks, and tests
  • Build: Builds all packages and applications
  • Triggers: Runs on push to main/develop and on pull requests

Scripts

  • pnpm dev - Start development servers
  • pnpm build - Build all packages and apps
  • pnpm lint - Lint all packages
  • pnpm test - Run all tests
  • pnpm type-check - Type check all packages
  • pnpm format - Format all files
  • pnpm format:check - Check if files are formatted
  • pnpm clean - Clean all build artifacts

Next Steps

  1. Configure frontend application (Next.js/React)
  2. Configure backend application (Node.js/Express)
  3. Set up Prisma schema and migrations
  4. Implement domain models and business logic
  5. Add comprehensive test coverage

License

Private - All rights reserved

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors