An open API service indexing awesome lists of open source software.

https://github.com/cmarker0/JavaEnterprise_Exam

Exam soulution for PG5100-V18 - Java web application for selling used books
https://github.com/cmarker0/JavaEnterprise_Exam

exam flyway h2-database jacoco jpa-hibernate junit5 selenium-java spring spring-boot spring-web-security

Last synced: 9 months ago
JSON representation

Exam soulution for PG5100-V18 - Java web application for selling used books

Awesome Lists containing this project

README

          

# JavaEnterprise_Exam

[![Build Status](https://travis-ci.org/MiniMarker/JavaEnterprise_Exam.svg?branch=master)](https://travis-ci.org/MiniMarker/JavaEnterprise_Exam)

* Student: Christian Marker
* Subject: PG5100-1 18V Enterpriseprogrammering 1

This repo contains my solution for our 48-hour home exam.

**EXTRA**
* I added an extra class th the project called "BookPost" from the start, this is a List of books for sale and extends
the book class an an OneToMany relationship. A book can have several BookPosts created by users (a user can only publish
one bookpost pr book at the time) (TESTED)
* Ability to add book if the book you are selling is not on the list (TESTED)
* Ability to send independent chat messages to a user (TESTED)
* Ability to mark a message as read (when you reply to a message, this message will be marked as read) (TESTED)
* The project is deployed on Travis CI

**Project Structure**

The project contains 3 submodules
* backend
* Entities
* Services
* ServiceTests
* frontend
* Controllers
* WebSecurityConfig
* Selenium Tests
* Application Runner
* reports
* JaCoCo coverage
* OWASP check

## Git commit video
[![Watch the video](giphy.gif)](https://vimeo.com/312592723)

https://vimeo.com/312592723

## How to run code

1. Clone this repo
2. Run from project root folder:

```mvn install``` will install and generate reports **with** running tests

```mvn install -DskipTests``` will install and generate reports **without** running tests
3. Run **LocalApplicationRunner** located in ~/frontend/src/test/java/no/cmarker/frontend/LocalApplicationRunner.java
4. Open ```localhost:8080/``` in your browser