This is the API for Tome, a full-stack web app built with .NET Core, Knockout.js, and PostgreSQL. The API handles CRUD operations for universes, character types, and events, with flexible field structures for character sheets.
git clone <repo-url>
cd TomeIf you're using Docker for PostgreSQL, make sure it's running:
docker-compose up -dOtherwise, install PostgreSQL locally and create the database manually.
dotnet restoredotnet runGET /api/universes- List universesPOST /api/universes- Create a new universeGET /api/universes/{id}- Get a universe by IDPUT /api/universes/{id}- Update a universeDELETE /api/universes/{id}- Delete a universe
GET /api/universes/{universeId}/charactertypes- List character types in a universePOST /api/universes/{universeId}/charactertypes- Create a character typeGET /api/universes/{universeId}/charactertypes/{id}- Get a character type by IDPUT /api/universes/{universeId}/charactertypes/{id}- Update a character typeDELETE /api/universes/{universeId}/charactertypes/{id}- Delete a character type
GET /api/charactertypes/{characterTypeId}/fields- List fields for a character typePOST /api/charactertypes/{characterTypeId}/fields- Add a field to a character typePUT /api/charactertypes/{characterTypeId}/fields/{id}- Update a fieldDELETE /api/charactertypes/{characterTypeId}/fields/{id}- Delete a field
Database connection errors?
- Check if PostgreSQL is running:
docker ps - Verify connection string in
.env
- .NET Core 9
- Entity Framework Core
- PostgreSQL
- Knockout.js