This document should serve as guide to setting up the project on your own machine.
- Install Java 8 JDK & Maven & Java IDE of your choosing, we used Spring Tool Suite.
- Fork project from GitHub repository.
- Import project into your IDE as a Maven project.
- Ensure that the following dependencies are part of the project using Spring Initializr
- Spring Boot version 2.4.1:
- Spring JDBC
- Spring JPA
- Spring Web
- Spring Dev-Tools
- Spring Test
- Spring Security
- PostgreSQL Driver for database connectivity, if using a different SQL dialect make sure you have the correct SQL driver for it.
- H2 Database used for testing without persisting to a database.
- Firebase-admin for Security and Authorization
- JUnit 4 for testing
- Mockito for mocking Service & Repository layers
- Log4j for logging.
- Spring Boot version 2.4.1:
- Update the application.properties within src/main/resources to point to the correct database & port that you intend to use with the project. By Default the port is: 8081
- Set up an environment variable called GOOGLE_APPLICATION_CREDENTIALS that will be set to an absolute path to your service-account.json for Firebase Authentication. More information to setup environment variables Make sure to keep your service-account.json out of git version control
- Read the README.md & look over the pre-existing codebase to gain an understanding of the project.
- Launch either a PostgreSQL RDS on AWS or Host a PostgreSQL database on your local machine.
- Update the
spring.datasource.url
property within the application.properties file to match the new RDS url. - Run the Java application to populate the new database with the correct tables.
- Fork project from GitHub repository.
- Install the latest version of Node.js & the Node Package Manager (NPM)
- Run
npm install @angular/cli
to install the latest version of Angular from the terminal. - Open project in your preferred IDE, we used Visual Studio Code, and open the terminal.
- Run
npm install
to install all dependencies needed for the project. - Look over the README.md & codebase to gain an understanding of the project.
- Get Center of Excellence to provision you an EC2 with Jenkins & Docker installed.
- Docker files are already included, just attach to a Jenkins pipeline.