GithubHelp home page GithubHelp logo

improvify / tdt4140-improvify-app Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 1.0 3.39 MB

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

Java 99.77% CSS 0.23%
java javafx junit jetty rest hsqldb workout school-project gui webserver ntnu tdt4140

tdt4140-improvify-app's Introduction

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"

tdt4140-improvify-app's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

krissrex

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.