bastilimbach / FHDW-BAT

Backend for the "Boss Arrival Time" App

Home Page:https://gcp.sebastianlimbach.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FHDW - Boss Arrival Time

This is the official backend source code for the Boss Arrival Time project of the lecture PIT at the FHDW university. This project represents our take on the Weasley Clock from Harry Potter. The Weasly Clock shows the whole Weasly family and there current location. We took this functionality and tried to apply it to our professors/dean.

screenshot

The idea was, that we have an app for Android and iOS which sends the current location to a backend server, which could then represent the location on a maps inside a browser. To accomplish that, we build a NodeJS backend which provides an API to create a new user and lets the client update his/her current location. This location would then be send to the browser using WebSockets to provide a real time representation of the current location.

Get started

To run this server you need to have NodeJS installed and a MongoDB instance running. Also you may need to change some configurations inside the config.js file.

Finally, run npm start to start the server on the configured port.

Development

Start the server for development.

npm run-script start:dev

Lint your files using eslint.

npm test

Deployment

The repository includes a Dockerfile for easy deployment.

# Build the Docker image
docker build -t boss-arrival-time:latest .

# Run the Docker image
docker run -d -p 80:3000 --restart always --name bat-backend boss-arrival-time:latest

Using Docker Compose you can also run the server without the need to install MongoDB manually.

docker-compose up -d

You may want to build/run the Docker image with the environment variables (MONGODB_URL, ADMIN_TOKEN, DOMAIN)

Companion Apps

Contribution

You want to contribute? That's awesome! Go ahead an feel free to open a Pull Request with your bug fixes or new features. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License

MIT ❤️

About

Backend for the "Boss Arrival Time" App

https://gcp.sebastianlimbach.com/

License:MIT License


Languages

Language:JavaScript 61.6%Language:HTML 27.5%Language:Shell 7.5%Language:CSS 3.3%