A web application to help ESN sections manage themselves, their events and payments. Includes loads of features very specific to ESN sections and is open for anyone to be used.
Docker is needed to run the project. Get it here. Using Docker Compose has worked well so far, because it takes care of dependencies and linking the Database. Recommended to use Docker Desktop to run it locally.
git clone https://github.com/ESN-MESA/MESAapp
cd MESAapp
docker-compose up
You can add the -d
flag to run it in the background.
In that case use docker-compose stop
to stop it.
Client will be on localhost 4000
When making changes rebuild the image with
docker-compose up --build
(necessary to make sure changes are applied) Below is the old setup, which is still useful for development. (Might be outdated)
Follow this guide to get the project up and running on your local machine.
Clone the project
git clone https://github.com/ESN-MESA/MESAapp
cd app
# Install all dependencies
yarn install
Go to the project directory
cd legacy-app
This uses the server running on server.esn.world
which is also used by the live version.
yarn dev:light
If you need changes in the server and don't want to implement them yourself server you can line out what the API should return for you feature and open an issue.
To fetch data you need to have the server running on localhost as well.
yarn dev
The server requires a running instance of Postgres. You can use docker to run it:
docker run --name tumi-postgres -e POSTGRES_PASSWORD=postgres -p 5433:5432 -d postgres
To intialize or reset the database run the following commands:
cd server
yarn prisma:reset-dev
This command will drop the entire database and re-create it with the latest schema and seed data.
If you want to inspect the data in the database run the following command:
yarn prisma:studio-dev
Then you can run the server with:
cd server
yarn install
yarn dev
You can sign up with any personal email address. However, if you want to use the test accounts, you can use the following credentials:
email: [email protected]
password: testuser1!
email: [email protected]
password: testuser2!
Watch out: sometimes it is surprisingly hard to log out of the app, make sure to clear the entire application storage in you dev tools and log out form tumi.esn.world if your users seems to get stuck.
As this repo is based on yarn workspaces you can find additional information in the folders for the specific projects.
Check this out for the frontend application that is currently the TUMi app. You can also learn more about the features and usage here.
The server used for data access.
Client: Angular, Apollo Angular, Angular Material, TailwindCSS
Server: Node, Express, Graphql Yoga, Prisma, pothos-graphql
All the authentication is done with Auth0.