An application used to help car poolers create and find rides online
The instructions to install, build, and deploy the application are designed to be run on Ubuntu 18.04 LTS
Update Packaging Tool
$ sudo apt update
Install Java 11 JDK
$ sudo apt install openjdk-11-jdk-headless
Install Unzip
$ sudo apt install unzip
Install Gradle through PPA
$ sudo apt -y install vim apt-transport-https dirmngr wget software-properties-common
$ sudo add-apt-repository ppa:cwchien/gradle
$ sudo apt-get update
$ sudo apt -y install gradle
Install Apache-Tomcat
$ wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.zip
Go to the directory where Apache-Tomcat is downloaded at
$ unzip apache-tomcat-9.0.34.zip
$ sudo mv apache-tomcat-9.0.34 /opt/tomcat
Go to any working directory where you would like to clone the repository
$ git clone https://github.com/Andrew-Tolentino/sar.git <FinalProject>
The repository will be saved locally in the directory "FinalProject". You may choose any name for this directory but FinalProject will be used as a reference. Just replace "FinalProject" with the directory name chosen from the Instructions.
$ cd FinalProject/sar
Create the gradle wrapper
$ gradle wrapper
Build the "executable"
$ ./gradlew build
Go to the WAR file produced after building
$ cd build/libs
Copy and move the sar.war file into the Apache-Tomcat webapps directory
$ cp sar.war /opt/tomcat/webapps
Go to the Apache-Tomcat bin directory
$ cd /opt/tomcat/bin
Compile the catalina.sh file
$ chmod +x ./catalina.sh
Run the catalina.sh executable
$ ./catalina.sh run
Press Ctrl+C anytime you want to stop the server.
Now Apache-Tomcat will use the sar.war file for deployment and create the sar directory when running the server. If you wish to rebuild with any changes, you must remove the sar.war file and sar directory in the webapps directory ( /opt/tomcat/webapps ) and then add in the new sar.war file produced after building.
When running the server you will get some warnings thrown on the terminal but it does not prevent the application from working.
In the DateFormatTest file, the unit tests may fail due to time zone differences when run.
You can produce a testing coverage report through jacoco after building
$ ./gradlew jacocoTestReport
Now use your browser to open the file ~/../FinalProject/build/reports/jacoco/test/html
This is a detailed unit-test coverage report.
I would to thank professor Virgil Bistriceanu and the TA Ritvij Saxena for helping me out throughout the lifecycle of this project. I have gained a lot of insight on designing and creating RESTful applications which I will I continue to practice on.
This project is licensed under the MIT License - see the LICENSE.md file for details LICENSE.md