GitHunt
PA

paul-schaaf/esn-app

New and containerized TUMi IT

TUMi app

OR: the ESN section app

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.

Contributing

To find something to work on it's recommended to check the issues and look
at the Good first issue tag.

Commits

This repository follows the conventional commits. Please make sure to work you commit
messages according to the guidelines.

Local setup

Follow this guide to get the project up and running on your local machine.

Clone the project

  git clone https://github.com/esn-tumi/app.git
  cd app
  # Install all dependencies
  yarn install

Run the client

Go to the project directory

  cd legacy-app

Without local server (for frontend only)

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.

With local server

To fetch data you need to have the server running on localhost as well.

  yarn dev

Run the server

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 5432: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

Test accounts

You can sign up with any personal email address. However, if you want to use the test accounts, you can use the following credentials:

Admin

email: test1@esn.world
password: testuser1!

Section member

email: test2@esn.world
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.

Projects

As this repo is based on yarn workspaces you can find additional information in the folders for the specific projects.

What's on tumi.esn.world

Legacy App

Check this out for the frontend application that is currently the TUMi app. You can also learn more about the features and usage here.

Server

The server used for data access.

Tech Stack

TUMi Apps (Legacy app + events)

Client: Angular, Apollo Angular, Angular Material, TailwindCSS

Server

Server: Node, Express, Graphql Yoga, Prisma, pothos-graphql

Authentication

All the authentication is done with Auth0.