An app to connect people in Saskatoon to reuse options.
See the Live App Here!
This web app was created as part of CMPT370 at the University of Saskatchewan. The City of Saskatoon sustainability division acted as our product mananger for the project.
Made using Vaadin 14, Java Spring, MongoDB, and vanilla JavaScript.
The easiest way to use the app is to visit the live site above! Due to some quirks in our frameworks, dependencies, and java versioning, sometimes getting the artifact to run locally can run into issues.
The following methods can be used for Local Installations:
Follow these instructions if you wish to make changes to the application
Open Intellij, and create a new Project from Version Control, either File -> New -> From Version Control or Get from VCS in the new project window.
Enter the clone URL and press Clone
Once the project is cloned, make sure to press "load maven build scripts" on the "maven project detected" popup
Navigate to src/main/java/resources/application.properties
and comment out / delete / set to false vaadin.ProductionMode=true
Once intellij finishes managing the maven dependencies, navigate to
src/main/java/com/saskcycle/saskcycle/SaskCycleApplication.java
and run the SaskCycleApplication.java
class.
The first time you do this, Spring needs to download and install the needed NodeJS dependencies for Vaadin, which may take a few minutes. Once it's finished, you will see the server running.
Navigate to localhost:8080
on a web browser to use the application
Clone the repo, then run
./mvnw run
in the root of the cloned directory.
Go to the https://git.cs.usask.ca/lkp821/saskcycle/-/releases for this Milestone. Download the latest jar file and run it using java -jar
.
Navigate to localhost:8080
on a web browser to use the application
Clone our repository. Open a shell to the cloned directory and run the command:
./mvnw package -Pproduction -DskipTests
Maven will compile all the needed classes and dependencies, this may take a few minutes. Once its complete you can run the jar, which will be found in target/
Navigate to localhost:8080
to use the application
When trying to run the application for development, depending on your Java version and installation you may see SSL Socket Exceptions when trying to connect to the MongoDB remote database.
A fix for this is to add the -Djdk.tls.client.protocols=TLSv1.2
option to your Java compiler flags in the Intellij run configuration.
when trying to create a production .jar, you need to ensure that application properties has the following option set, otherwise the NodeJS dependencies may not be properly fetched.
vaadin.productionMode=true