This is a semester-long project for CSCE548 -- Building Secure Software.
Triapp is an app that tracks data for people who are training for a triathlon. It holds data related to its users, workouts, and specific data related to the type of workout (run, bike, swim).
To run Triapp you should have:
- Java 21+
- Maven 3.6+
- MySQL 8+
- Node.js 18+
- Download the zip file and extract to your location of choice. Alternatively, clone this repo by navigating to your desired directory location and running:
git clone https://github.com/ColeTM/triapp.git
-
Edit the MySQL credentials in
src/main/resources/application.properties -
Create the project's database by running the script provided at
sql/schema.sql. This can be done by running the following command from the MySQL command line client:
SOURCE [project_root]/triapp/sql/schema.sql.Make sure to replace [project_root] with your device path to the project's root. There is also a sample dataset provided. If you would like to install it, you can run:
SOURCE [project_root]/triapp/sql/seed.sql-
Install the project's dependencies by navigating to the project's
triapp-client/directory and runningnpm install -
In your IDE of choice, host the database by running
TriappApplication.java -
Run the front end server by navigating to the project's
triapp-client/directory and runningnpm run dev -
The project should now be running. To use it, go to
http://localhost:5173/in your browser. You will see all of the data tables for users, workouts, runs, bikes, and swims, with the ability to search, insert, edit, and delete on each table
Along with learning how to build secure software, this class also serves as an introduction to "vibe coding". Because of this learning objective and the fact that it is unreasonable to manually create a project of this caliber in the amount of time we have, most of the code is written by AI, as is encouraged in the project instructions.