Competitive Splatoon Platform
Go to file
2022-06-14 21:12:29 +03:00
.github User page initial with SQLite3 (#822) 2022-05-16 17:52:54 +03:00
app Adjust voting range 2022-06-13 18:37:18 +03:00
cypress Banner informing user has voted 2022-06-13 08:58:49 +03:00
discord-bot Discord bot initial 2022-06-14 21:12:29 +03:00
migrations Migrations via ley 2022-06-07 00:51:39 +03:00
public Add /plus link to menu 2022-06-11 10:33:14 +03:00
scripts Remove data import script 2022-06-08 23:20:59 +03:00
.env.example Set DB path from env var 2022-06-07 01:23:33 +03:00
.eslintrc.js Change comments data model a bit + adjust sorting 2022-05-28 10:49:44 +03:00
.gitignore Add test to adding new suggestion 2022-06-04 13:10:00 +03:00
.nvmrc User page initial with SQLite3 (#822) 2022-05-16 17:52:54 +03:00
.prettierignore User page initial with SQLite3 (#822) 2022-05-16 17:52:54 +03:00
.stylelintrc.json Stylelint allow -webkit-backdrop-filter 2022-03-07 00:39:40 +02:00
cypress.json Delete comment test 2022-05-29 11:04:27 +03:00
ley.config.js Set DB path from env var 2022-06-07 01:23:33 +03:00
LICENSE User page initial with SQLite3 (#822) 2022-05-16 17:52:54 +03:00
package-lock.json Relative time voting timing info 2022-06-11 21:53:34 +03:00
package.json Relative time voting timing info 2022-06-11 21:53:34 +03:00
README.md Update README project structure 2022-06-11 11:55:54 +03:00
remix.config.js Add test to adding new suggestion 2022-06-04 13:10:00 +03:00
remix.env.d.ts Remix starter 2021-11-23 18:54:52 +02:00
tsconfig.json Discord bot initial 2022-06-14 21:12:29 +03:00

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:

  1. nvm use to switch to the correct Node version.
  2. npm i to install the dependencies.
  3. Make a copy of .env.example that's called .env and fill it with values.
  4. npm run migrate to set up the database tables.
  5. npm run dev to run both the server and frontend.

And if you want to run the E2E tests:

  1. Make a copy of the db.sqlite3 file created by migration and name it db-cypress.sqlite3.
  2. npm run dev:cypress and npm run cy:open can 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