Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add Java REST API in the back end #105

Merged
merged 12 commits into from
Sep 26, 2023
67 changes: 39 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,48 +22,59 @@ and [our Rocket Chat](https://chat.developer.gov.bc.ca/) channel.
# Stack

Here you will find a comprehensive list of all the languages and tools that are
been used in this app. And also everything you need to get started, build,
been used on SILVA. And also everything you need to get started, build,
test and deploy.

- React Progressive Web Application
- TypeScript
- Context API
- React Testing Library
- Jest
## Front end
- Progressive Web Application
- [React](https://react.dev/)
- [React Redux](https://react-redux.js.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/)
- [Vitest](https://vitest.dev/)
- [Vite](https://vitejs.dev/)
- [Node 20](https://nodejs.org/download/release/v20.7.0/)
- Lint
- Airbnb ESLint
- [Standard TS ESLint](https://github.com/standard/eslint-config-standard-with-typescript)
- Tools
- Docker
- Microsoft Visual Studio Code
- Docker & Docker compose
- Microsoft VS Code
- Styling
- Carbon Design System
- Bootstrap
- Authentication
- AWS Cognito (FAM)
- [Carbon Design System](https://github.com/bcgov/nr-fsa-theme)
- [Bootstrap CSS](https://getbootstrap.com/)
- Authentication & Authorization
- [FAM (AWS Cognito)](https://github.com/bcgov/nr-forests-access-management)

## Back end
- REST API
- [Java 17 with GraalVM](https://www.graalvm.org/)
- [Spring Boot Web](https://spring.io/guides/gs/spring-boot/)
- [Apache Maven](https://maven.apache.org/)
- [Hibernate ORM](https://hibernate.org/orm/)
- [Oracle JDBC](https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html)
- Lint
- [Google Java Checkstyle ](https://checkstyle.org/styleguides/google-java-style-20180523/javaguide.html)
- IDE
- [VSCode](https://code.visualstudio.com/) can be a great choice
- Authentication & Authorization
- OAuth 2.0 with JWT Token-based requests.

# Getting started

Once you have cloned this repository, you can get the app running by typing
`npm install` and then `npm run start` from the project root directory. Then
head to http://localhost:3000.

Be aware of the required environment variables:

- VITE_USER_POOLS_ID
- VITE_USER_POOLS_WEB_CLIENT_ID
at the project root directory:

To run the unit tests all you need is `npm run test`.

And with Docker:

```bash
docker compose --env-file ./frontend/.env.local up -d
```sh
docker compose up -d
```

Then head to http://localhost:3000 too see SILVA running. You can see the REST API working at http://localhost:8080

Before writing your first line of code, please take a moment and check out
our [CONTRIBUTING](CONTRIBUTING.md) guide.

## Getting help

As mentioned, we're here to help. Feel free to start a conversation
on Rocket chat, you can search for `@jazz.grewal`.
As mentioned, we're here to help. Feel free to reach out and
start a conversation on Rocket chat, you can search for
`@jazz.grewal` or `@ricardo.campos`.
33 changes: 33 additions & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/
Loading