Skip to content

Initial Project Setup #4

@anandmindfire

Description

@anandmindfire

🏗️Initial Project Setup

🎯 Goal

Set up the foundational structure for the Self-Hosted Monorepo Package Manager Dashboard project, ensuring a scalable, maintainable, and self-hosted architecture that aligns with the FRS document.


✅ Tasks

1. Repository & Structure

  • Initialize a new monorepo using pnpm workspaces or Nx
  • Create folders:
    • /apps/dashboard – Frontend (React + TypeScript + Vite)
    • /apps/server – Backend (Node.js + Fastify)
    • /packages/shared – Shared utilities and types
  • Add .editorconfig, .gitignore, .nvmrc, .prettierrc, .eslintrc.cjs

2. Frontend Setup

  • Initialize React + TypeScript project with Vite
  • Integrate Tailwind CSS and shadcn/ui components
  • Configure routing with React Router
  • Add placeholder pages:
    • Dashboard Overview
    • Packages List
    • Dependency Graph
    • Role Management

3. Backend Setup

  • Initialize Fastify (or Express) with TypeScript
  • Set up API routes structure:
    • /api/packages
    • /api/dependencies
    • /api/auth
    • /api/config
  • Implement environment-based configuration using dotenv
  • Add sample /health route for testing

4. Database & Auth

  • Configure lightweight database (SQLite for local, PostgreSQL for prod)
  • Set up ORM
  • Initialize RBAC schema for roles: Admin, Maintainer, Developer
  • Implement token-based authentication (JWT)

5. Developer Experience

  • Configure ESLint and Prettier for code quality
  • Add Husky + lint-staged for pre-commit hooks
  • Add TurboRepo or Nx for task orchestration
  • Setup Dockerfile and docker-compose.yml for self-hosted deployment

6. CI/CD & Version Control

  • Setup GitHub Actions workflow for:
    • Lint + Build checks
    • Test automation
  • Add basic README.md with project overview and setup instructions

🧩 Deliverables

  • Monorepo structure initialized
  • Working React + Fastify setup
  • Basic Docker and CI pipeline
  • ESLint, Prettier, Husky configured
  • RBAC schema with seed roles

🧠 Notes

  • Follow FRS version 1.0 (October 2025)
  • Future tasks will include: Dependency graph visualization, CI/CD integrations, and role-based UI access.

Priority: 🔥 High
Type: Setup / Infrastructure
Labels: setup, infrastructure, priority-high, backend, frontend

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions