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.sampleto.envand adapt the variables -
Optional: Create an
eternaltwin.local.tomlconfig 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.prismafile 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
Configtable
- Make sure to run
yarn core:exportafter creating/deleting files in thecorepackage, as it will update the indexes accordingly
-
Requirements: install ffmpeg on your Pc, node v18 minimum
-
Run the script :
yarn sfx:generateif you use git bash andyarn sfx:wsl:generateif you use WSL
- After editing any of the main Google accessible pages, run
yarn sitemap:generateto 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
└── ...