Lace Up & Lead The Way is a pre-race training app designed to be a companion and social platform for runners interested in running Midnattsloppet. This project is a collaborative effort by group 71 to design and develop a complete mobile app from scratch. The project is part of the PVT 7.5 course at DSV. The project includes a frontend, UI and a corresponding backend microservice architecture.
Our backlog was managed through a Github Project
Documentation of our REST APIs is generated using Swagger UI, through usage of FastAPI, and can be viewed by deploying respective service, and accessing its /docs
endpoint.
dsv-pvt/
├── authentication/ # a microservice handling user authentication
├── backend/ # a microservice handling general user data
├── flutter_application/ # a client app, sends requests to backend
├── .github/ # workflows and github related things
├── .gitignore
├── images/ # a microservice handling image storage
├── LICENSE
├── proxy/ # proxy coniguration
├── README.md
└── sessions/ # a microservice handling login session tokens
Microservices are to be run in separate processes independently. A few environment variables need to be set in order for them all to function properly.
Enironment variables:
API_KEY
— The API that this service requires from external requests to create admin usersSESSIONS_URL
— URL to the deployed sessions microservice. No trailing slashes!AUTH_URL
— URL to the deployed authentication microservice. No trailing slashes!IMAGES_API_KEY
— The API Key required in images microservice to upload images to S3IMAGES_URL
— URL to the deployed images microservice. No trailing slashes!DATABASE_URL
— URL to your PostgreSQL database for your general user dataEnvironment variables:
DATABASE_URL
— URL to your PostgreSQL database for authentication dataEnvironment variables:
API_KEY_ID
— backblaze keyIDAPI_KEY
— backblaze applicationKeyKEY_NAME
— blackblaze key nameAWS_ENDPOINT_URL
— backblaze endpoint BUCKET_NAME
— backblaze bucket nameAPI_KEY_SELF
— API key that this service will require to upload images to S3Environment variables:
PRIVATE_KEY_BYTES
— Ed25519 PrivateKey in bytesRun the flutter application with the following environment variables set:
BACKEND_API_URL
— URL to backend service.IMAGES_API_URL
— URL to images service.GOOGLE_APPLE_CLIENT_ID
— clientID to google for iOS devices. This is used for auth with google.GOOGLE_WEB_CLIENT_ID
— clientID for to google for web sessions.Alternatively, all services can be run locally using uvicorn. In this case, make sure to install all dependencies first!
Lace Up & Lead The Way is open source and released under the GPL 3.0 license. See LICENSE for more information.
For any questions or concerns, please reach out to @Edwinexd.