mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
Competitive Splatoon Platform
| .github | ||
| app | ||
| cypress | ||
| discord-bot | ||
| migrations | ||
| public | ||
| scripts | ||
| .env.example | ||
| .eslintrc.js | ||
| .gitignore | ||
| .nvmrc | ||
| .prettierignore | ||
| .stylelintrc.json | ||
| cypress.json | ||
| ley.config.js | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| remix.config.js | ||
| remix.env.d.ts | ||
| tsconfig.json | ||
Note: This is the WIP Splatoon 3 version of the site. To see the current live version checkout the main branch
Running locally
Prerequisites: nvm
There is a sequence of commands you need to run:
nvm useto switch to the correct Node version.npm ito install the dependencies.- Make a copy of
.env.examplethat's called.envand fill it with values. npm run migrateto set up the database tables.npm run devto run both the server and frontend.
And if you want to run the E2E tests:
- Make a copy of the
db.sqlite3file created by migration and name itdb-cypress.sqlite3. npm run dev:cypressandnpm run cy:opencan be used to run the E2E tests.
Project structure
sendou.ink/
├── app/
│ ├── components/ -- React components
│ ├── db/ -- Database layer
│ ├── hooks/ -- React hooks
│ ├── modules/ -- "nodu_modules but part of the app" https://twitter.com/ryanflorence/status/1535103735952658432
│ ├── routes/ -- Routes see: https://remix.run/docs/en/v1/guides/routing
│ ├── styles/ -- All .css files of the project for styling
│ ├── utils/ -- Random helper functions used in many places
│ └── permissions.ts / -- What actions are allowed. Separated by frontend and backend as frontend has constraints based on what user sees.
├── cypress/ -- see: https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Folder-structure
├── migrations/ -- Database migrations
├── public/ -- Images, built assets etc. static files to be served as is
└── scripts/ -- Stand-alone scripts to be run outside of the app