https://github.com/szymonpoltorak/todoapp
Project for Modeling Database Application course on Warsaw University of Technology with aim to create an app communicating with database.
https://github.com/szymonpoltorak/todoapp
docker gradle java17 jwt mapstruct postgresql spring-boot
Last synced: 4 months ago
JSON representation
Project for Modeling Database Application course on Warsaw University of Technology with aim to create an app communicating with database.
- Host: GitHub
- URL: https://github.com/szymonpoltorak/todoapp
- Owner: szymonpoltorak
- License: apache-2.0
- Created: 2023-10-08T16:31:33.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-02-23T12:00:46.000Z (over 2 years ago)
- Last Synced: 2025-04-03T01:19:23.308Z (over 1 year ago)
- Topics: docker, gradle, java17, jwt, mapstruct, postgresql, spring-boot
- Language: Java
- Homepage:
- Size: 1.31 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# ToDo App
A simple ToDo app created for the academic course with aim of creating an app with frontend, backend and database. It has support for Https, PWA and is using reverse proxy.
## How to run it ?
1. I use RSA private and public keys to sign jwt tokens so you need to generate them.
* Use the commands below to generate private key and create public key:
```bash
openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:4096
openssl rsa -pubout -in private.pem -out public.pem
```
* Place them inside `todo-app-backend/src/resources/*.pem`
2. Application is using `ssl` so you need appropriate certificates. In `todo-app-nginx/ssl` there is a script `gen.sh` developed by me and my friend [Igor](https://github.com/igorkedzierawski). When you use it you should have `server.crt`, `server.key` and `server.p12`. First two should be placed in `todo-app-frontend/src/assets/ssl/` and `todo-app-nginx/ssl/` and `server.p12` in `todo-app-backend/src/main/resources/`. You can modify particular values in scripts variables.
## Technology Stack
1. Frontend
* Angular 16.2.0,
* Angular PWA,
* TypeScript 5.1.3,
* Angular Material 16.2.8,
* Scss 0.2.4,
* Rxjs 7.8.0,
* Html 5.
2. Backend
* Java 17,
* Spring Boot 3.14,
* Spring Data JPA,
* OAuth2,
* Jwt,
* Gradle Groovy,
* PostgreSQL,
* MapStruct,
* Lombok.
3. Others
* Docker,
* Nginx,
* Drawio.
## Diagrams
* Architecture diagram:
* Database:
## Screenshots
* Login
* Register
* Forgot password
* Groups
* Side Menu
* Profile
* Collaborators
* Search
* Tasks
* Sessions
* Add socials