# Chrono CCG - Project Guide This project is a hosted Blazor WebAssembly application with a PostgreSQL database for persisting agent notes. ## Prerequisites - **Docker Desktop**: Required for the recommended containerized setup. - **.NET 10 SDK**: Required if you want to build or run the project locally without Docker. ## 1. Running with Docker (Recommended) The easiest way to get everything running (App + PostgreSQL) is using Docker Compose. 1. **Open a terminal** in the project root (`Chrono/`). 2. **Run the following command**: ```bash docker-compose up --build ``` 3. **Access the Application**: - Web Interface: http://localhost:8080 - API Endpoint: http://localhost:8080/api/notes The database will be automatically initialized and migrations will be applied on startup. ## 2. Running Locally (Development) If you need to run the app directly (e.g., for faster debugging): 1. **Start a PostgreSQL database**. You can use the one from docker-compose if you want: ```bash docker-compose up db ``` 2. **Verify Connection String**: `Server/appsettings.Development.json` is pre-configured to point to `localhost`. 3. **Run the Server project**: ```bash cd Server dotnet run --launch-profile https ``` 4. The app will be served at the URL shown in the terminal (e.g., https://localhost:7266). ## 3. Running Tests To verify the core domain logic: ```bash dotnet test ``` ## 4. Key Features - **Agent Notes**: In the "Cards" gallery, select an Agent to see the "Personal Note" field. Changes are auto-saved to the PostgreSQL database when you click away from the text area. - **Auto-Migrations**: The Server project automatically handles database schema updates on startup. - **Dockerized Architecture**: Complete orchestration of the web server and database.