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

https://github.com/buildingthingswithcode/watchshop

A webshop portfolio project. Goal: to practice working with Spring and with a Postgres database.
https://github.com/buildingthingswithcode/watchshop

postgres spring-boot spring-security thymeleaf webapplication webshop

Last synced: 2 months ago
JSON representation

A webshop portfolio project. Goal: to practice working with Spring and with a Postgres database.

Awesome Lists containing this project

README

        

# A webshop portfolio project.

Goal was to practice working with Spring and with a Postgres database. This project is hosted online.
If you would like to try it out you can register a new account or log in with the following credentials:
user/user (user account)
admin/admin (administrator account)
[Link to the project](http://defensive-glori-larsmartens-4c10bcc4.koyeb.app/)

Note: This project is hosted on a free hosting service. Since free hosting has its limitations, you may
occasionally notice slower response times.

![WatchShopScreenshot](https://github.com/user-attachments/assets/3eb09751-3aa5-4262-a2e1-5907d5c7b867)

This checklist outlines all the key steps I planned and implemented to complete this project. It serves as a
roadmap of the development process, tracking progress from start to finish.:
- Get familiar with Spring basics. :heavy_check_mark:
- Set up environmental variables and connect to online datbase. :heavy_check_mark:
- Populate database. :heavy_check_mark:
- Design logo + shopping cart icon. :heavy_check_mark:
- Create product page and add sortig functionality. :heavy_check_mark:
- Create information page. :heavy_check_mark:
- Add shopping cart functionality. :heavy_check_mark:
- Set up local postgres db, free online hosting was limited to 50 hours. :heavy_check_mark:
- Find another solution to host the project online. :heavy_check_mark:
- Add navigation header. :heavy_check_mark:
- Create Thymeleaf fragments for recurring HTML elements. :heavy_check_mark:
- Add exception handling, custom exceptions and custom error page. :heavy_check_mark:
- Create login and register pages. :heavy_check_mark:
- Get familiar with Spring Security. :heavy_check_mark:
- Add security and authentication. :heavy_check_mark:
- Add form validation. :heavy_check_mark:
- Add logout functionality. :heavy_check_mark:
- Make part of the webapplication only accessible to administrator accounts. :heavy_check_mark:
- Add payment/checkout functionality. :heavy_check_mark:
- Add tests for controllers, repositories, services and DTO's. :heavy_check_mark: