Skip to content

BonjourDpt/ressource_master

Repository files navigation

Resource Master

Internal web app to visualize and manage resource allocation across projects on a weekly basis.

Overview

Resource Master answers a simple question: who is on what project, and when? It provides a weekly timeline (by project or by resource), CRUD for projects, resources, and bookings, and a minimalist dark UI suited for internal planning.

Why it exists: Lightweight alternative to heavy PPM tools for teams that need quick visibility and editing of who is assigned to which project each week — without timesheets, approvals, or permissions.

Key features

  • Projects — Create, edit, archive, restore, and delete projects (name, optional client, color from a fixed palette of ten swatches).
  • Resources — Create, edit, archive, restore, and delete resources (name, optional role and team, weekly capacity in hours).
  • Bookings — Assign a resource to a project for a given week with an allocation percentage (1–100%); create, edit, and delete inline from the planning grid. Attach optional notes to any booking.
  • Planning view — Weekly grid with toggle: By project or By resource. Week navigation with Today button, single/multi-week arrows, and configurable span (4/8/12 weeks; 12 by default when span is not in the URL). Team filtering. URL-based state for shareable views.
  • Search & filter — Search by name, client, role, or team on list pages. Filter by status (Active / Archived / All) and by team.
  • Over-allocation warnings — Visual indicators when a resource exceeds 100% in a week.
  • CSV import — Bulk import projects or resources from CSV/TSV files with automatic column mapping, preview, and upsert-by-name.
  • In-app help — Cheatsheet accessible via the ? button in the header, covering all features and keyboard shortcuts.
  • Toast notifications — Non-blocking success/error feedback for all actions via Sonner.
  • No auth (v1) — No login or permissions; internal use only.

Tech stack

  • Framework: Next.js 16 (App Router) + React 19 + TypeScript
  • Styling: Tailwind CSS v4, custom dark-first design system (CSS variables), Geist font
  • Data: Prisma ORM, PostgreSQL
  • Validation: Zod
  • UI libraries: Sonner (toasts), focus-trap-react (modal accessibility)
  • CSV: PapaParse
  • Date logic: Custom ISO-week utilities (lib/weeks.ts)

Screens

Screen Purpose
Planning (/planning) Weekly timeline grid. Toggle by project or by resource. Inline editing of allocation percentages. Notes on cells. Team filter, Today button, span selector.
Projects (/projects) List with search, status filter (Active/Archived/All). Create/edit via modal. Archive/restore/delete with confirmation dialogs.
Resources (/resources) List with search, status filter, team filter. Create/edit via modal with capacity field. Archive/restore/delete.
Admin (/admin) CSV import wizard: upload, map columns, preview, and import.

Concepts: A booking is a single assignment: one resource, one project, one week, one allocation percentage, and an optional note. One resource can have multiple bookings in the same week (different projects); over 100% is allowed but shown as a warning.

Quick start

  1. See docs/SETUP.md for prerequisites, env, database, and running the app.
  2. After setup: npm run dev → open http://localhost:3000. Root redirects to /planning.
  3. Click the ? button in the header for the built-in cheatsheet, or read CHEATSHEET.md.

Documentation

Doc Purpose
docs/SETUP.md Install, env, migrations, seed, troubleshooting
CHEATSHEET.md End-user reference (mirrors in-app help)
docs/ui-system.md Design tokens, layout, and component conventions
docs/PRODUCT_ASSUMPTIONS.md Domain model, weeks, lifecycle, security assumptions
docs/FUTURE_IMPROVEMENTS.md Backlog ideas post-MVP

Project philosophy

  • MVP first — Only what's needed for internal planning; no enterprise scope.
  • Simplicity — Straightforward patterns, minimal abstractions, easy to change.
  • Internal tool — No auth or permissions in v1; trust and access controlled outside the app.

About

Web app to manage ressources

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors