An aesthetic organizer for different types of entities in books and book worlds for writers.
- Code:
backend/app - Key pieces:
main.py– FastAPI app and CORScore/config.py– settings andDATABASE_URLdb/session.py– engine,SessionLocal,Base,get_dbmodels/entities.py–World,Book,Character,Locationschemas/entities.py– Pydantic schemasapi/entities.py– CRUD-style endpoints for listing/creating entities- Alembic config in
backend/alembic.ini,backend/migrations
cd backend
python -m venv .venv
.venv\Scripts\activate # on Windows
pip install -r requirements.txt
# make sure Postgres is running and DATABASE_URL in app/core/config.py is correct
alembic upgrade head
uvicorn app.main:app --reload --port 8000- Code:
frontend - Vite-based Vue 3 SPA with an aesthetic dashboard layout.
App.vuecurrently uses sample in-memory data for worlds, books, characters, and locations.- Next step is to wire it to the backend API (
/api/entities/*) with Axios orfetch.
cd frontend
npm install # already run once, but safe to repeat
npm run dev # Vite dev server at http://localhost:5173- Hook Vue views up to the FastAPI endpoints (worlds, books, characters, locations).
- Add create/edit forms with live aesthetic previews (colors, tags, vibes).
- Add per-project workspaces so each book/world has its own board.
- Add authentication if you want multi-user access.