Status: π§ In Development (T00 Project Bootstrap Complete) Last Updated: 2025-12-27
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.
- π Product Requirements (PRD) - Product overview and core features
- π― Product Vision - Strategic positioning and value proposition
- π¦ Product Scope - What's in scope and what's not
- π« Non-Goals - What we will NOT build
- π Glossary - Terminology and definitions
- βοΈ Tech Rules - Technical stack and architecture constraints
- β Definition of Done - Criteria for feature completion
- Vision & Product Strategy (Complete) - Comprehensive strategic foundation
"Empower growing teams to manage people and work in one transparent, secure, and intuitive platform."
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
- β Payroll calculation (partner with providers)
- β Tax compliance logic
- β Recruitment/ATS
- β Learning Management System (LMS)
See non_goals.md for complete list.
- Framework: FastAPI
- ORM: SQLAlchemy
- Database: PostgreSQL
- Auth: JWT + Refresh Tokens
- Package Manager: Poetry
- Framework: React
- Build Tool: Vite
- Language: TypeScript
- State Management: Zustand
- Data Fetching: TanStack Query
- Containers: Docker, docker-compose
- Testing: pytest (backend), Vitest (frontend)
See TECH_RULES.md for complete technical constraints.
- Modular Monolith (no microservices)
- Multi-Tenant Isolation (tenant_id in all tables)
- REST APIs Only (no GraphQL)
- Security First (RBAC, audit logs, GDPR-ready)
- Simplicity Over Features (do 10 things excellently)
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 |
- Product vision and positioning defined
- Scope boundaries established
- Terminology standardized
- Detailed functional requirements
- User stories and acceptance criteria
- MVP scope finalization
- 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.
- Docker Desktop (with Docker Compose v2)
- Git
-
Clone the repository
git clone <repository-url> cd hr_saas
-
Start all services with Docker Compose
docker compose up
This will start:
- PostgreSQL database on port 5432
- Backend API on http://localhost:8000
- Frontend app on http://localhost:3000
-
Access the application
- Frontend: http://localhost:3000
- Backend API Docs: http://localhost:8000/api/docs
- Health Check: http://localhost:8000/health
Backend (FastAPI + Poetry)
cd backend
# Install dependencies
poetry install
# Run tests
poetry run pytest
# Run locally (without Docker)
poetry run uvicorn src.main:app --reloadFrontend (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 buildCopy 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# Stop all services
docker compose down
# Stop and remove volumes (database data)
docker compose down -vhr_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
Current Phase: Foundation & Planning (Milestone 00-01)
- Read TECH_RULES.md and DONE_CRITERIA.md
- Follow the modular monolith architecture
- Ensure all code has type hints (Python) or types (TypeScript)
- Write tests before marking features complete
- Document assumptions and decisions
- 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.)
To be determined (Not yet licensed)
Project Status: Early development, not yet accepting external contributions
Documentation Issues: File an issue in the project repository
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
Task: Initialize repository structure, tooling, and baseline configuration
Deliverables (All Complete β ):
- β 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
- β 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
- β 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
- β README updated with setup instructions
- β Project structure documented
- β Development workflow documented
Verification:
- β
docker compose upsuccessfully 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