https://github.com/ppirog/joboffers
excercise to practise commercial technologies such as spring-boot, junit, mockito, mongodb, wiremock, docker, testcontainters, redis. App deployed on AWS
https://github.com/ppirog/joboffers
aws docker java junit lombok maven mockito mongodb redis spring spring-boot spring-security testcontainers wiremock
Last synced: 2 months ago
JSON representation
excercise to practise commercial technologies such as spring-boot, junit, mockito, mongodb, wiremock, docker, testcontainters, redis. App deployed on AWS
- Host: GitHub
- URL: https://github.com/ppirog/joboffers
- Owner: ppirog
- Created: 2024-02-21T20:38:48.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-13T20:53:22.000Z (about 2 years ago)
- Last Synced: 2024-05-13T21:55:17.959Z (about 2 years ago)
- Topics: aws, docker, java, junit, lombok, maven, mockito, mongodb, redis, spring, spring-boot, spring-security, testcontainers, wiremock
- Language: Java
- Homepage: https://www.youtube.com/watch?v=-vTgTVoMRhs
- Size: 305 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README



















# LIVEDEMO
CLICK LINK TO SEE ON YOUTUBE HOW APP WORKS:
https://www.youtube.com/watch?v=-vTgTVoMRhs
CLICK LINK TO USE APP:
http://ec2-3-79-167-135.eu-central-1.compute.amazonaws.com/login (currently disabled)
# Frontend
Frontend to this app: https://github.com/ppirog/joboffers-front
# Info
This apllication fetches job offers from an external service using a rest api and stores it in mongodb database.
Application was deployed on AWS. (instruction how to use it in LIVEDEMO section)
To boost time efficiency during making request redis db was added.
Fetching new offers is done by app automaticly using scheduler.
To use application user has to register, login and fetch JWT token
Then user can fetch data using endpoints:
- GET /offers
- GET /offers/{id}
Application enables adding offers manualy using endpoint:
- POST /offers
All functionality are unit and integration tested.
# Core
- Java
- Spring
- MongoDb
- Redis
- Spring Security
- Scheduler
- Docker
- JWT
# Testing:
- JUnit
- AssertJ
- Mockito
- Testcontainers
- Wiremock
- MockMvc
# Architecture

# HOW TO USE IT FROM POSTMAN
Application was deployed on AWS.
If you want to use deployed app use postman as in an example below BUT INSTEAD OF
http://localhost:8080 add http://ec2-3-79-167-135.eu-central-1.compute.amazonaws.com:8000
http://ec2-3-79-167-135.eu-central-1.compute.amazonaws.com:8000/register
http://ec2-3-79-167-135.eu-central-1.compute.amazonaws.com:8000/token
http://ec2-3-79-167-135.eu-central-1.compute.amazonaws.com:8000/offers
# Postman AWS

# Postman Localhost





##### To start app go to go to file docker-compose.yml first and launch it