Coachmate
An application used to connect the Garmin connect and retrieve activity data, built with Springboot framework. This is a unimelb project of subject COMP90082 which is responsible for acquiring and processing data. Data collected in Garmin Connect is acquired through Garmin wearable. devices used by athletes training under CoachingMate.
- Project Name & Pitch
- Index
- Project Status
- Components diagram
- The project structure
- Description of the database structure
- Installation and Setup Instructions
- Deployment guidelines
- Documents
- Release History
This project is currently in development.
- Users can register an account and login to this system.
- User can authorised this account to garmin connect so that garmin connect can transfer activity data to this backend.
The project adopts the development mode of sub-modules according to functions, and the structure is as follows
-
coachingmateanalytics.coachingmate.controller: Front controller layer
-
coachingmateanalytics.coachingmate.entity: Data entity class
-
coachingmateanalytics.coachingmate.dao : Data interface access layer
-
coachingmateanalytics.coachingmate.service : Data service interface layer
-
coachingmateanalytics.coachingmate.service.serviceImpl : Data service interface implementation layer
-
coachingmateanalytics.coachingmate.utils : Tool library
-
coachingmateanalytics.coachingmate.intercepter : used to set the response header for all request
-
resources/application.yml : Project profile resources/static/ : Static resource directory
Mongodb has one database (named coachingDB) which has three collections, which are respectively
- requestToken : Use to store the RequestToken entity class
- user : Used to store the Userpartner entity class
- activity : Used to store the Activity entity class
Official tutorial for JDK installation
Official tutorial for Maven installation
take mac os for example
- download apache-maven-3.6.3-bin.tar.gz
- tar xzvf apache-maven-3.6.3-bin.tar.gz
- Alternatively use your preferred archive extraction tool.
- Add the bin directory of the created directory apache-maven-3.6.3 to the PATH environment variable
- Confirm with mvn -v in a new shell. The result should look similar to
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/apache-maven-3.6.3
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"
Official tutorial for mongoDB installation
brew install [email protected]
- linux install
yum install git
- mac install
brew install git
- Before you can use Git for version management, you need to configure Git by telling git your username and your email account
//configuration
[root@localhost ~]# git config --global user.name flymegoc
[root@localhost ~]# git config --global user.email [email protected]
//Check the configuration
[root@localhost ~]# git config --list
user.name=flymegoc
[email protected]
Clone down this repository. You will need maven
and JDK1.8
installed globally on your machine.
git clone https://github.com/chenyuguo/coachingmate
Modify configuration file application-dev.properties
spring.data.mongodb.uri = mongodb://{username}:{password}@{host}:{port}/{database name}
Installation:
cd coachingmate
mvn install
To Start Server:
java -jar ./target/coachingmate-0.0.1-SNAPSHOT.jar
To login App:
localhost:8080/login?username={username}&password={password}
There are serveal steps we need to do to run our app on heroku
URL: https://coachingmate2020.herokuapp.com/
- 1.0.0 -Complete the basic setup of front and rear ends (user registration, user login, garmin Connect authorization, and GARmin Connect simulation terminal data)
- 1.0.1 - fix bug: when user name is right, password is not checked. and add log aspect.