Scaffold Vite React frontend

This commit is contained in:
otivm
2026-04-25 11:36:09 +00:00
parent 5738d9faa6
commit 6725f11222
16 changed files with 2983 additions and 54 deletions

View File

@@ -1,61 +1,16 @@
# OTIVM
# React + Vite
*otium* — Latin: leisure, rest, creative withdrawal. The condition under which civilisation advances.
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
OTIVM is a browser-based idle game with a Classical Roman motif. It is a standalone light-hearted project under TheRON, intended as a low-pressure development activity and a public-facing entry point to the Roman world shared across TheRON projects.
Currently, two official plugins are available:
---
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs)
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/)
## Concept
## React Compiler
You are a Roman merchant. You start with a single trade route and a handful of denarii. You build a network spanning the known world — from Ostia to Alexandria — one dispatch at a time. The narrative unfolds through the goods you trade and the journal entries they unlock.
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
The core tension is Roman in origin: *otium* versus *negotium* — leisure versus productive work. Active trading accumulates wealth. Rest and reflection accumulate *auctoritas* — the reputation and wisdom that unlocks what comes next.
## Expanding the ESLint configuration
---
## Where It Runs
| Property | Value |
|----------|-------|
| URL | https://otium.civicus.us |
| Container | LXC 1105 (otivm-dev) on srv-a |
| WireGuard | 10.110.0.18 |
| LAN IP | 10.0.0.23 |
| App port | 3000 |
| App user | otivm |
| Process manager | PM2 (pm2-otivm systemd service) |
| Proxy | Nginx on wg-pk (198.58.111.109) |
---
## Stack
- **Frontend:** React 19, Vite
- **Runtime:** Node.js v22
- **Process manager:** PM2 under otivm user
- **Python:** venv at /home/otivm/venv (auto-activates on login)
---
## Repository
- **Gitea:** https://gitea.barternetwork.us/TheRON/OTIVM
- **Branch:** main
- **Push node:** otivm@otivm-dev (10.0.0.23)
- **License:** BSD 2-Clause
---
## Design Principles
- One screen, one resource loop — ship fast
- Narrative unfolds through goods and journal entries, not cutscenes
- Roman vocabulary throughout — Latin terms, Roman place names, Roman motifs
- Atmosphere carries quiet references to Mesolithic cultures and trade routes — the deep prehistory beneath the Roman world
- Never academic, always entertaining
- No backend required initially — React artifact first
---
*OTIVM is part of TheRON — The Residential Owner-operated Network.*
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project.