Service API for Flame Coach Application
This is the backend source of Flame Coach. Here you will find the API code to create clients, appointments, etc... basically, all the core logic to put the application works. Code uses MySQL database to store the information but feel free to apply the necessary changes to support other databases.
Flame Coach backend uses Spring as the core framework and also all the code is written in Kotlin.
It's easy to compile and use the Flame Coach Service. The project is using maven to manage dependencies, this way, you only need to run the following command (please visit https://maven.apache.org/run.html):
e.g: ./mvn compile
If you want to run a full clean installation, running the test suite, you must run:
e.g: ./mvn clean install
This project use flywaydb to version the database, if you need to migrate the database to a new version, or init a new one you can use the following command line inside the repository folder:
mvn -Dflyway.url=jdbc:mysql://<hostname>:3306/flame-coach -Dflyway.user=<username> -Dflyway.password=<password> flyway:migrate
To run the backend you will need to run the spring profile local
. Please use the following command, inside launch folder, to run the application:
mvn spring-boot:run -Dspring-boot.run.profiles=local
Please use the following project flame-coach-tools to create a new release. If you need access to the project, please open an issue to request access.
1. Open a new PR from production <- master
2. Run the release script:
./flame-coach-tools --release --releaseVersion <version> --snapshotVersion <version-snapshot> --api
3. Accept the PR (do not use squash option, please use merge)
4. Wait to production build & deploy finish
5. Run the snapshot script:
./flame-coach-tools --release --releaseVersion <version> --snapshotVersion <version-snapshot> --api --snapshot
Pull requests are welcome. Please check the CONTRIBUTING.md to find the best way to contribute.
I'm waiting for you 🤟
This opensource project is under the following license: MIT