diff --git a/EntitiesModel.puml b/EntitiesModel.puml index e243271..890a1a3 100644 --- a/EntitiesModel.puml +++ b/EntitiesModel.puml @@ -1,15 +1,74 @@ @startuml -class User extends UriEntity implements UserDetails { +class User { username : String password : String email : String + favorites: Proposal[] } -class UriEntity { - uri : String +together { + +class Invite { + when: ZonedDateTime + status : String +} +Invite -[hidden]down- Interest +Invite "*" --> "1" Proposal : what +Invite "*" --> "1" User : who + +class Interest { + when: ZonedDateTime + status : String +} +Interest -[hidden]down- Agree +Interest "*" --> "1" Proposal : what +Interest "*" --> "1" User : who + +class Agree { + when: ZonedDateTime + status : String +} +Agree "*" -right-> "1" Proposal : what +Agree "*" -left-> "1" User : who +} + +class Proposal { + title : String + description : String + timing: String + speciality: String + kind: String + keywords : String[] + owner: User } -User "1" --right-- "*" Resource : owner < +class Admin extends User {} +class Student extends User {} +class Director extends User {} +class Professor extends Director {} +class External extends Director {} + +Proposal "*" ---> "0..2" Director : directedBy +Proposal "*" ---> "0..1" Student : student +Proposal "*" ----> "0..2" Professor : directedBy +Proposal "*" ----> "0..1" External : directedBy + +Proposal "1" --up-> "1" Chat + +Chat "1" <-right- "*" Message : partOf + +class Message { + text : String + when: ZonedDateTime + from: User +} + +Proposal "*" -right-> "*" Category : categorizedBy + +class Category { + name : String + description : String +} @enduml diff --git a/README.md b/README.md index 778d68e..3703f20 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ TFG Finder backend developed by the GEIADE team. A Spring Boot project including [![Open Issues](https://img.shields.io/github/issues-raw/UdL-EPS-SoftArch/tfgfinder-geiade-api?logo=github)](https://github.com/orgs/UdL-EPS-SoftArch/projects/24) [![CI/CD](https://github.com/UdL-EPS-SoftArch/tfgfinder-geiade-api/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/UdL-EPS-SoftArch/tfgfinder-geiade-api/actions) [![CucumberReports: UdL-EPS-SoftArch](https://messages.cucumber.io/api/report-collections/faed8ca5-e474-4a1a-a72a-b8e2a2cd69f0/badge)](https://reports.cucumber.io/report-collections/faed8ca5-e474-4a1a-a72a-b8e2a2cd69f0) -[![Deployment status](https://img.shields.io/uptimerobot/status/m792691238-18db2a43adf8d8ded474f885)](https://tfgfinder-geiade-api.fly.dev/users) +[![Deployment status](https://img.shields.io/uptimerobot/status/m798592907-8267e0a2d8b3522c1b12e4ed)](https://tfgfinder-geiade-api.fly.dev/users) ## Vision @@ -16,20 +16,23 @@ TFG Finder backend developed by the GEIADE team. A Spring Boot project including ## Features per Stakeholder -| USER | ADMIN | Student | Professor | Organisation | -|--------------------------|----------------------|-------------------|---------------|---------------| -| Register as Organisation | Approve Organisation | Offer | Offer | Offer | -| Login | Reject Organisation | Browse | Browse | Browse | -| Logout | Reject Offer | Search | Search | Search | -| View Profile | Add Category | Show Interest | Show Interest | Show Interest | -| Edit Profile | Delete Category | Agree | Agree | Agree | -| | | Download Proposal | | | -| | | Favorite | Favorite | Favorite | -| | | Invite | Invite | Invite | -| | | Reject Invite | Reject Invite | Reject Invite | -| | | | | | +| USER | ADMIN | Student | Professor | Organisation | +|--------------------------|----------------------|-------------------|-----------------|-----------------| +| Register as Organisation | Approve Organisation | Propose | Propose | Propose | +| Login | Reject Organisation | Browse | Browse | Browse | +| Logout | Reject Offer | Search | Search | Search | +| View Profile | Add Category | Show Interest | Show Interest | Show Interest | +| Edit Profile | Edit Category | Accept Interest | Accept Interest | Accept Interest | +| | Delete Category | Reject Interest | Reject Interest | Reject Interest | +| | | Agree | Agree | Agree | +| | | Update Proposal | Update Proposal | Update Proposal | +| | | Download Proposal | | | +| | | Favorite | Favorite | Favorite | +| | | Invite | Invite | Invite | +| | | Reject Invite | Reject Invite | Reject Invite | +| | | | | | ## Entities Model -![EntityModelsDiagram](http://www.plantuml.com/plantuml/svg/5Sqn3W8X40NGtbFe0M1wgxNOJXEJZGT061SI6CZC9rvVjthbMmn1CLizNOh4EXDFhUSC3BiIQVZwlI3FzpJMs0KiyB4tUgMxMv-Rs_e7DusPR6YHtO7Rg05CBHXOQHKK5BP7JrpzEAA59Vtz0G00?v0) +![EntityModelsDiagram](https://www.plantuml.com/plantuml/uml/5Sqn3i8m3030dLV00rBlJ6Ne1X9InGDCx3IMKgUo7V5zOBhnPW-q67ixNKHp6yJ3shb677u5CFnCcqGTx-5ikMkmnfJx3Y-wf-MvfhMNk5ck46KheiIMDXOaJdW861U7oaWEEuh2eY4Xx8zEtARZtywizFCB?v0)