Sportify is a JavaFX desktop application that collects and presents information on the top European football leagues using JPA Persistence API for database management. Database hosted on Microsoft Azure server managed by PostgreSQL.
- JDK 8
- Apache Maven 3.6.0
- PostgreSQL 12.0
- Git 2.26
- IntelliJ IDEA (recommend)
- other dependencies you can see in pom.xml
You can modify or contribute to this project by following the steps below:
1. Clone the repository
-
Open terminal ( Ctrl + Alt + T )
-
Clone to a location on your machine.
# Clone the repository
$> git clone https://github.com/attiasas/sportify.git
# Navigate to the directory
$> cd sportify
2. Database connection (locally)
- Create an empty base
$> psql postgres
# Create empty bases
postgres=# CREATE DATABASE sportify;
postgres=# CREATE DATABASE sportify_dev;
postgres=# \c sportify;
-
Set up a connection for JPA
# Navigate to the directory
$> cd sportify
# Open config file
$> nano src/main/resources/config.properties
# Edit with the correct values
...
db.server={localhost or postgres server}
db.port=5432
db.user={Enter username}
db.password={Enter password}
db.database=sportify
...
3. Assembly and launch of the project
- Open terminal ( Ctrl + Alt + T )
# Navigate to the directory
$> cd sportify
# compile and run
$> mvn clean package && java -jar target/sportify-0.0.1-SNAPSHOT-jar-with-dependecies.jar
Note to IntelliJ Users
This project uses the lombok library in some of the model classes to cut down on boiler plate code. IntelliJ requires that you enable annotation processing to prevent it showing errors from unimplemented methods. You can find this in Settings->Build, Execution, Deployment->Compiler->Annotation Processors - Or simply search for "enable annotation processing" in the settings search bar.
Run the main application using the appropriate process for your set-up by IntelliJ Run/Debug.
- Various testing methods such as:
- Unit testing
- Integration Testing
- Functional Testing
- Run tests with Maven from the command line.
$> mvn verify
- System Demo - TODO
- Final Presentation - TODO
- Setup Demo - TODO
- Trace Google Sheet
- Trello Board
Design Patterns and Techniques
- Singleton
- Façade
- Dependency Injection
Author Serfati
This program is free software: you can redistribute it and/or modify it under the terms of the MIT LICENSE as published by the Free Software Foundation.