Skip to content

Workout app (nicknamed Improvify) for a NTNU course TDT4140.

Notifications You must be signed in to change notification settings

Improvify/tdt4140-improvify-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gruppe 17

pipeline status coverage report

Project Improvify

Improvify is a training application that helps users reach their potential by connecting them to competent coaches and giving them the tools to analyze and improve their performance.

The Project is currently being developed by Computer Science students at NTNU as a part of TDT4140 Software Development , a course that aims to give students a taste of working in the software industry.

History

  • Oppgave for 5. februar: Update templates fra Trætteberg
  • Oppgave for 15. februar: Releaseplan
  • Oppgave for 8.mars: Sprint 1
  • Oppgave for 15.mars: Demo 1
  • Oppgave for 22.mars: Sprint 2
  • Oppgave for 16.april: Sprint 3

Hei studass, ingen på gruppa vår bruker Eclipse.
Kjipern hvis du ikke får satt opp plugins for Eclipse.
Alle plugins vi bruker skal eksistere for Eclipse også.
Maven verify skal kjøre uansett.

Running

  1. Set up a MySql server
  2. Run the [schema in docs](/docs/Database-design/mainDB create ecosystem.sql) in the database

Web server

  1. Open App in serviceprovider.webserver
  2. Make sure database connection info is correct. By default it connects to root@localhost:3306
  3. Start main in App

Improvify JavaFX GUI

  1. Open Main in app.ui
  2. Make sure database connection info is correct. By default it connects to root@localhost:3306
  3. Start main in Main

Wiki

For more management-centered stuff, and less developer/code-centered, check out our gitlab wiki.

Architecture

The Project is centered around a REST API web server that interacts with a MySQL database. Most source code, both in the coach UI and back end, is written in Java.

![](docs/System architecture/Package overview.png)

Plugins

Error-prone setup

IntelliJ

  1. File > Settings
  2. Search for compiler
  3. Java Compiler
  4. Enable javac with error-prone (se bilde)

Checkstyle setup

IntelliJ

  1. File > Settings
  2. Other Settings > Checkstyle
  3. Green "+", Description: "Local xml", File: "checkstyle.xml", select "Store relative to project location"
  4. Check "Active" for "Local xml"
  5. OK

Help

Explanation of dependencies

Name Description
Jackson JSON de/serializer
Guice Dependency injection
JUnit Unit test framework
TestFX JUnit extension for JavaFX UI tests
Hamcrest Matchers for use in test assertions
Mockito Mocking for use in tests
SLF4J Logging facade (Combined with Logback for actual implementation of logging)
Lombok Generate geters, seters, static SLF4J log field, Builder pattern

Build dependencies / plugins

Name Description
Jacoco Test coverage
Maven Shade Combine all dependencies to a single executable JAR
Error-prone Look for possible mistakes in the code
Checkstyle Enforce code style (Ours is in checkstyle.xml)
Build helper Configures src/it/java as integration test source

General issues

Maven pom.xml can't find specified version of a dependency

IntelliJ: File > Settings > Build, Execution, Deployment > Build Tools > Maven: Select "Use plugin registry"