Skip to content

Auckfmine/hr_saas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Work Management & HR SaaS Platform

Status: 🚧 In Development (T00 Project Bootstrap Complete) Last Updated: 2025-12-27


Overview

A Work-Centric HRIS platform designed for Small to Medium Enterprises (10-500 employees). We combine HR management with work management in a single, transparent, and secure platform.

Our unique positioning: More HR-capable than Monday.com, more work-capable than BambooHR, and more affordable than both.


Quick Links

Core Documentation

Strategic Documents


Product Vision

"Empower growing teams to manage people and work in one transparent, secure, and intuitive platform."

What We Build

Hybrid HRIS + Work Management platform with:

  • βœ… Employee management & organization hierarchy
  • βœ… Time tracking & attendance
  • βœ… Leave management with approval workflows
  • βœ… Task & project management
  • βœ… Reporting & compliance
  • βœ… Multi-tenant SaaS architecture

What We Don't Build

  • ❌ Payroll calculation (partner with providers)
  • ❌ Tax compliance logic
  • ❌ Recruitment/ATS
  • ❌ Learning Management System (LMS)

See non_goals.md for complete list.


Technology Stack

Backend

  • Framework: FastAPI
  • ORM: SQLAlchemy
  • Database: PostgreSQL
  • Auth: JWT + Refresh Tokens
  • Package Manager: Poetry

Frontend

  • Framework: React
  • Build Tool: Vite
  • Language: TypeScript
  • State Management: Zustand
  • Data Fetching: TanStack Query

DevOps

  • Containers: Docker, docker-compose
  • Testing: pytest (backend), Vitest (frontend)

See TECH_RULES.md for complete technical constraints.


Architecture Principles

  1. Modular Monolith (no microservices)
  2. Multi-Tenant Isolation (tenant_id in all tables)
  3. REST APIs Only (no GraphQL)
  4. Security First (RBAC, audit logs, GDPR-ready)
  5. Simplicity Over Features (do 10 things excellently)

Target Market

Small to Medium Enterprises (SMEs): 10-500 employees

Segment Size Primary Needs
Startups/Scale-ups 10-50 Replace Excel, basic HR system, affordable
Mid-Market SMEs 50-200 Consolidate tools, compliance, visibility
Regional Enterprises 200-500 Cost-effective alternative to enterprise solutions

Development Roadmap

βœ… Milestone 00: Vision & Product Strategy (COMPLETE)

  • Product vision and positioning defined
  • Scope boundaries established
  • Terminology standardized

πŸ”œ Milestone 01: Requirements & MVP Definition

  • Detailed functional requirements
  • User stories and acceptance criteria
  • MVP scope finalization

πŸ“… Future Milestones

  • 02: System Architecture
  • 03: Database & Data Modeling
  • 04: Backend Foundation
  • 05: Core HR Features
  • 06: Work Management
  • 07: Frontend Application
  • 08-13: Billing, Security, DevOps, Integrations, Enterprise

See docs/roadmap/ for detailed milestone plans.


Getting Started

Prerequisites

  • Docker Desktop (with Docker Compose v2)
  • Git

Quick Start

  1. Clone the repository

    git clone <repository-url>
    cd hr_saas
  2. Start all services with Docker Compose

    docker compose up

    This will start:

  3. Access the application

Development

Backend (FastAPI + Poetry)

cd backend

# Install dependencies
poetry install

# Run tests
poetry run pytest

# Run locally (without Docker)
poetry run uvicorn src.main:app --reload

Frontend (React + Vite + TypeScript)

cd frontend

# Install dependencies
npm install

# Run development server
npm run dev

# Run linter
npm run lint

# Format code
npm run format

# Type check
npm run type-check

# Build for production
npm run build

Environment Variables

Copy the .env.example files and customize as needed:

# Root level
cp .env.example .env

# Backend
cp backend/.env.example backend/.env

# Frontend
cp frontend/.env.example frontend/.env

Stopping Services

# Stop all services
docker compose down

# Stop and remove volumes (database data)
docker compose down -v

Project Structure

hr_saas/
β”œβ”€β”€ .claude/                       # Claude Code project instructions
β”‚   └── CLAUDE.md                  # Task execution rules and guidelines
β”œβ”€β”€ docs/                          # All documentation
β”‚   β”œβ”€β”€ PRD.md                     # Product Requirements
β”‚   β”œβ”€β”€ vision.md                  # Product Vision
β”‚   β”œβ”€β”€ product_scope.md           # Scope Definition
β”‚   β”œβ”€β”€ non_goals.md               # Explicit Non-Goals
β”‚   β”œβ”€β”€ GLOSSARY.md                # Terminology
β”‚   β”œβ”€β”€ TECH_RULES.md              # Technical Constraints
β”‚   β”œβ”€β”€ DONE_CRITERIA.md           # Definition of Done
β”‚   └── roadmap/                   # Milestone plans
β”œβ”€β”€ tasks/                         # Task definitions by milestone
β”‚   β”œβ”€β”€ 00-foundation/             # Project bootstrap tasks
β”‚   β”œβ”€β”€ 01-organization/           # Organization & tenant tasks
β”‚   β”œβ”€β”€ 02-auth/                   # Authentication tasks
β”‚   β”œβ”€β”€ 03-employees/              # Employee management tasks
β”‚   β”œβ”€β”€ 04-time-tracking/          # Time tracking tasks
β”‚   β”œβ”€β”€ 05-leave/                  # Leave management tasks
β”‚   β”œβ”€β”€ 06-work/                   # Work management tasks
β”‚   └── 08-audit/                  # Audit logging tasks
β”œβ”€β”€ backend/                       # FastAPI backend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ core/                  # Core configuration
β”‚   β”‚   β”œβ”€β”€ api/                   # API routers
β”‚   β”‚   β”œβ”€β”€ services/              # Business logic
β”‚   β”‚   β”œβ”€β”€ repositories/          # Data access layer
β”‚   β”‚   β”œβ”€β”€ models/                # SQLAlchemy models
β”‚   β”‚   └── schemas/               # Pydantic schemas
β”‚   β”œβ”€β”€ tests/                     # Backend tests
β”‚   β”œβ”€β”€ pyproject.toml             # Poetry dependencies
β”‚   β”œβ”€β”€ Dockerfile                 # Backend Docker image
β”‚   └── .env.example               # Environment variables template
β”œβ”€β”€ frontend/                      # React + Vite frontend
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ core/                  # Core setup (API, router, query client)
β”‚   β”‚   β”œβ”€β”€ features/              # Feature modules
β”‚   β”‚   └── shared/                # Shared components and utilities
β”‚   β”œβ”€β”€ public/                    # Static assets
β”‚   β”œβ”€β”€ package.json               # NPM dependencies
β”‚   β”œβ”€β”€ vite.config.ts             # Vite configuration
β”‚   β”œβ”€β”€ tailwind.config.js         # Tailwind CSS config
β”‚   β”œβ”€β”€ Dockerfile                 # Frontend Docker image
β”‚   └── .env.example               # Environment variables template
β”œβ”€β”€ docker-compose.yml             # Multi-container orchestration
β”œβ”€β”€ .gitignore                     # Git ignore rules
β”œβ”€β”€ .env.example                   # Root environment template
└── README.md                      # This file

Contributing

Current Phase: Foundation & Planning (Milestone 00-01)

Development Workflow (To be established)

  1. Read TECH_RULES.md and DONE_CRITERIA.md
  2. Follow the modular monolith architecture
  3. Ensure all code has type hints (Python) or types (TypeScript)
  4. Write tests before marking features complete
  5. Document assumptions and decisions

Code Standards

  • Backend: Follow FastAPI best practices, service-repository pattern
  • Frontend: React functional components, custom hooks, clean separation
  • Testing: pytest (backend), Vitest (frontend)
  • Commits: Conventional commits (feat:, fix:, docs:, etc.)

License

To be determined (Not yet licensed)


Contact & Support

Project Status: Early development, not yet accepting external contributions

Documentation Issues: File an issue in the project repository


Milestone 00 Completion

Deliverables (All Complete βœ…):

  • βœ… Clear written product vision (vision.md)
  • βœ… Explicit in-scope vs out-of-scope definition (product_scope.md)
  • βœ… Non-goals documented (non_goals.md)
  • βœ… Terminology consistency established (GLOSSARY.md)
  • βœ… Validation against PRD completed
  • βœ… All DONE criteria satisfied

Next Milestone: 01 - Requirements & MVP Definition


T00 - Project Bootstrap (COMPLETE βœ…)

Task: Initialize repository structure, tooling, and baseline configuration

Deliverables (All Complete βœ…):

Backend

  • βœ… FastAPI application bootstrapped with modular structure
  • βœ… Poetry project initialized with dependencies
  • βœ… Health check endpoint (/health) implemented and tested
  • βœ… Core configuration module with Pydantic Settings
  • βœ… Proper folder structure (core, api, services, repositories, models, schemas)
  • βœ… pytest configured with test coverage
  • βœ… Linting and formatting (ruff, black, mypy) configured
  • βœ… Dockerfile for containerization

Frontend

  • βœ… React + Vite + TypeScript scaffold created
  • βœ… Tailwind CSS configured for styling
  • βœ… TanStack Query configured for server state
  • βœ… React Router configured for routing
  • βœ… Axios API client with interceptors
  • βœ… Feature-based folder structure (features, shared, core)
  • βœ… ESLint, Prettier, and TypeScript configured
  • βœ… Dockerfile for containerization

Infrastructure

  • βœ… Docker Compose orchestration (PostgreSQL + Backend + Frontend)
  • βœ… PostgreSQL 15 database configured
  • βœ… Environment variable templates (.env.example)
  • βœ… .gitignore configured for Python, Node, and Docker
  • βœ… All services verified running locally

Documentation

  • βœ… README updated with setup instructions
  • βœ… Project structure documented
  • βœ… Development workflow documented

Verification:

  • βœ… docker compose up successfully starts all services
  • βœ… Backend runs on http://localhost:8000
  • βœ… Frontend runs on http://localhost:3000
  • βœ… Health endpoint returns correct response
  • βœ… Tests pass: poetry run pytest (backend)

Next Task: Tasks in tasks/01-organization/


Last Updated: 2025-12-27 Current Task: T00 (Project Bootstrap) βœ… COMPLETE

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors