From fb00c1d2d65872ee90bf8ce743e0d3cbae2ea076 Mon Sep 17 00:00:00 2001 From: Chop <28534054+RChopin@users.noreply.github.com> Date: Mon, 2 Jun 2025 23:23:48 +0200 Subject: [PATCH] docs: Update README.md to include Docker development instructions and additional API endpoints --- README.md | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4b847a6..6c97106 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ A comprehensive project management system built with Next.js for managing constr - **Styling**: Tailwind CSS - **Date Handling**: date-fns - **Frontend**: React 19 +- **Container**: Docker & Docker Compose ## Getting Started @@ -46,9 +47,12 @@ A comprehensive project management system built with Next.js for managing constr - Node.js (version 16 or higher) - npm or yarn +- Docker (optional, for containerized development) ### Installation +#### Option 1: Local Development + 1. Clone the repository ```bash @@ -70,6 +74,23 @@ npm run dev 4. Open [http://localhost:3000](http://localhost:3000) in your browser +#### Option 2: Docker Development + +1. Clone the repository + +```bash +git clone +cd panel +``` + +2. Start with Docker Compose + +```bash +docker-compose up +``` + +3. Open [http://localhost:3000](http://localhost:3000) in your browser + ### Database Setup The application uses SQLite database which will be automatically initialized on first run. The database file is located at `data/database.sqlite`. @@ -80,7 +101,9 @@ The application uses SQLite database which will be automatically initialized on src/ ├── app/ # Next.js app router pages │ ├── api/ # API routes +│ │ ├── all-project-tasks/ # Get all project tasks endpoint │ │ ├── contracts/ # Contract management endpoints +│ │ ├── notes/ # Notes management endpoints │ │ ├── projects/ # Project management endpoints │ │ ├── project-tasks/ # Task management endpoints │ │ └── tasks/ # Task template endpoints @@ -89,10 +112,17 @@ src/ │ └── tasks/ # Task management pages ├── components/ # Reusable React components │ ├── ui/ # UI components (Button, Card, etc.) -│ └── forms/ # Form components +│ ├── ContractForm.js # Contract form component +│ ├── NoteForm.js # Note form component +│ ├── ProjectForm.js # Project form component +│ ├── ProjectTaskForm.js # Project task form component +│ ├── ProjectTasksSection.js # Project tasks section component +│ ├── TaskForm.js # Task form component +│ └── TaskTemplateForm.js # Task template form component └── lib/ # Utility functions ├── queries/ # Database query functions - └── db.js # Database connection + ├── db.js # Database connection + └── init-db.js # Database initialization ``` ## Available Scripts @@ -102,6 +132,12 @@ src/ - `npm run start` - Start production server - `npm run lint` - Run ESLint +## Docker Commands + +- `docker-compose up` - Start the application with Docker +- `docker-compose down` - Stop the Docker containers +- `docker-compose up --build` - Rebuild and start the application + ## Database Schema The application uses the following main tables: @@ -126,13 +162,31 @@ The application uses the following main tables: - `GET /api/contracts` - Get all contracts - `POST /api/contracts` - Create new contract +- `GET /api/contracts/[id]` - Get contract by ID +- `PUT /api/contracts/[id]` - Update contract +- `DELETE /api/contracts/[id]` - Delete contract ### Tasks +- `GET /api/tasks` - Get task templates +- `POST /api/tasks` - Create new task template +- `GET /api/tasks/[id]` - Get task template by ID +- `PUT /api/tasks/[id]` - Update task template +- `DELETE /api/tasks/[id]` - Delete task template +- `GET /api/tasks/templates` - Get all task templates + +### Project Tasks + - `GET /api/project-tasks` - Get project tasks or task templates - `POST /api/project-tasks` - Create new project task - `PATCH /api/project-tasks/[id]` - Update task status - `DELETE /api/project-tasks/[id]` - Delete task +- `GET /api/all-project-tasks` - Get all project tasks across all projects + +### Notes + +- `POST /api/notes` - Create new note +- `DELETE /api/notes` - Delete note ## Contributing