How platformer444/explorermaniac works
ExplorerManiac is a creature-collection application with a React web client and a Fastify API backed by PostgreSQL. The visible user workflow is registration or login, followed by authenticated user and creature-collection operations; the API also exposes creature catalog operations. The excerpts show the login and registration forms calling the API and database-backed API routes. The README is empty, and the server excerpt omits some route and middleware details, so uncertain links are not shown.
Main entry points: server.ts Account routes · App.tsx Page routes · main.tsx Web entry · Register.tsx Registration form
Components 15
Web client
- Web entry
web/src/main.tsx - Page routes
web/src/App.tsx - Registration form
web/src/components/user/Register.tsx - Login form
web/src/components/user/Login.tsx
API
- Fastify API
server/src/server.ts - Account routes
server/src/server.ts - Session validation
server/src/server.ts
Creature domain
- Creature routes
server/src/server.ts - User collection routes
server/src/server.ts
Persistence
- PostgreSQL
- User schema
server/src/schema/Users.ts - Session schema
server/src/schema/Sessions.ts - Creature schema
server/src/schema/creatures.ts - Collection schema
server/src/schema/user-creatures.ts
Other components
- User
Connections 18
- User → Web entry: opens
- Web entry → Page routes: renders
- Page routes → Registration form: routes to
- Page routes → Login form: routes to
- Registration form → Account routes: POST register
- Login form → Account routes: POST login
- Account routes → Fastify API: handled by
- Creature routes → Fastify API: handled by
- User collection routes → Fastify API: handled by
- Fastify API → PostgreSQL: queries
- Account routes → PostgreSQL: reads/writes
- Session validation → PostgreSQL: checks sessions
- Creature routes → PostgreSQL: reads/writes
- User collection routes → PostgreSQL: reads/writes
- PostgreSQL → User schema: stores
- PostgreSQL → Session schema: stores
- PostgreSQL → Creature schema: stores
- PostgreSQL → Collection schema: stores