Ocean is an internal platform for marine ecological sample management and equipment inspection workflows.
- Backend:
Laravel(must remain) - Business frontend mainline:
React 19 + TypeScript + ViteSPA with Mantine, Tailwind CSS, and react-i18next - Async analysis:
analysis-workerimplemented in Python - Database:
MariaDB - Queue / decoupling boundary:
Redis - Entry proxy:
Nginx - Orchestration:
Docker Compose - Documentation site:
Docusaurusinwebsite/
The old root-level
docs/andopenspec/content has been consolidated into the new documentation site and should no longer be restored as the primary documentation entry.
- Site source:
website/ - Default documentation entry:
website/docs/intro.md - Contributor guide:
CONTRIBUTING.mdandwebsite/docs/contributing.md - Simplified Chinese docs:
website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/ - GitHub Pages workflow:
.github/workflows/docs-pages.yml
Recommended starting points:
website/docs/intro.mdwebsite/docs/architecture/tech-stack.mdwebsite/docs/architecture/system-architecture.mdwebsite/docs/api/p0-api.mdwebsite/docs/data/data-model-and-states.mdwebsite/docs/operations/deployment.mdwebsite/docs/contributing.md
This system is primarily an internal management workspace. The engineering focus is on:
- Stable API contracts
- Controlled state transitions
- Repeatable deployment
- Clear Redis / Python async boundaries
- Lower operational complexity
Compared with Nuxt/Vue + SSR/Nitro + long-running Node runtime, Laravel API + React/Vite SPA is a better fit for the long-term delivery path. See the technology stack reassessment in the docs for the detailed rationale.
docker compose up -d --builddocker compose exec php php /var/www/html/artisan migrate --seed --forcecurl -s http://127.0.0.1:8080/api/dashboard/summary
curl -s http://127.0.0.1:8080/api/inspection-tasks
docker exec ocean-php php /var/www/html/artisan route:list --path=api
docker exec ocean-php php /var/www/html/artisan migrate:statusfrontend/ uses pnpm as its preferred package manager:
cd frontend
pnpm install
pnpm run buildbackend/: Laravel backend and the legacy lightweight PHP reference baselinefrontend/: active React 19 + TypeScript + Vite SPA workspace served by the default Compose/Nginx runtimeanalysis-worker/: analysis worker implementation and model runtimedocker/: Docker Compose, image, and Nginx configurationwebsite/: bilingual Docusaurus documentation site
- All future project-level documentation should be maintained under
website/. - Laravel remains the long-term backend runtime.
- The deleted root
docs/andopenspec/directories should not be restored as the primary documentation entry.
- 简体中文版 README:
README.zh-Hans.md - 中文文档入口:
website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/intro.md - 构建后的站点可通过语言切换器进入简体中文版本。