Skip to content

Commit

Permalink
Add features and domain model
Browse files Browse the repository at this point in the history
  • Loading branch information
rogargon committed Feb 16, 2025
1 parent c777a45 commit 838293f
Show file tree
Hide file tree
Showing 2 changed files with 80 additions and 18 deletions.
67 changes: 63 additions & 4 deletions EntitiesModel.puml
Original file line number Diff line number Diff line change
@@ -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
31 changes: 17 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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)

0 comments on commit 838293f

Please sign in to comment.