Made with Node.js, Express, Prisma, written in Typescript.
Made with MUI's components, React and create-react-app.
-
Fork this project
-
Make sure your NodeJS and yarn versions are up to date
-
If you are using Windows, make sure to use Git Bash as your terminal
-
Setup your local Postgres databases (labrute + etwin)
-
Copy
.env.sample
to.env
and adapt the variables -
Optional: Create an
eternaltwin.local.toml
config file for Eternaltwin. You don't need it to start LaBrute, but it may be useful for more advanced usage. (An example is provided in the eternaltwin.local.toml.sample file) -
Install dependencies:
yarn install
(This should also setup your database from theschema.prisma
file and the migrations) -
Make sure to initialize your etwin database by running
yarn eternaltwin db sync
-
Start the server, client and etwin local server with
yarn dev
-
Commit and push your changes
-
Create a pull request to merge your fork into
main
- Run
yarn db:sync:dev
-
Edit
server/src/seed.ts
-
Run
yarn db:seed
-
Set the environment variables
-
Install dependencies:
npm ci
(This should also compile and built everything needed) -
Sync your database with
yarn db:sync:prod
-
Start the server with
yarn start
-
Deploy the frontend using a static server of your choice like Nginx
-
Environment variables can be overriden without restarting the server by setting them in the database
Config
table
- Make sure to run
yarn core:export
after creating/deleting files in thecore
package, as it will update the indexes accordingly
-
Requirements: install ffmpeg on your Pc, node v18 minimum
-
Run the script :
yarn sfx:generate
if you use git bash andyarn sfx:wsl:generate
if you use WSL
- After editing any of the main Google accessible pages, run
yarn sitemap:generate
to update the sitemap
├── client
│ ├── build # Compiled frontend
│ ├── public
│ │ ├── i18n # Folder containing all the translations
│ │ └── ... # Any other static file
│ └── src
│ ├── components # Reusable components
│ ├── hooks # React hooks
│ ├── layouts # Layouts
│ ├── theme # Theme variables
│ ├── utils # Utility functions
│ └── views # Views
├── core # Shared ressourcs for both front and back end
│ ├── src
├── prisma # Prisma types definitions for both front and back end
│ ├── src
└── server # Back end
├── prisma # DB
└── src
├── controllers # Controllers
├── utils # Utility functions
└── ...