Arquisoft / lomap_en3b

LoMap Software architecture group en3b course 2022_23
https://arquisoft.github.io/lomap_en3b
6 stars 0 forks source link

Deployment View Documentation v1 #8

Closed FdezAriasSara closed 1 year ago

FdezAriasSara commented 1 year ago

Documentation on the Deployment View section of Arc42 regarding lomap.

Batuhanbyr commented 1 year ago

Below is the sequence diagram I wrote for lomap using plantuml.

@startuml
title LoMap APP Sequence Diagram
actor User 
actor Group 
actor Places
participant "LoMap APP" as App

User -> App : Login 
App -> User : Display Home Page 

alt User choose a Role
App -> User : Add different roles (citizen, tourist visitor, business owner)
User -> App : choose a role (citizen, tourist visitor, business owner)
App -> User : Display role info
end
alt User Adds Locations 
    User -> App : Add Locations 
    App -> User : Display Locations Details 
    User -> App : Add Reviews/Comments/Pictures
    App -> User : Confirm Added Info
    else User Views Maps
    User -> App : View Maps 
    App -> User : Display Maps with Locations 
end
alt User adds friends/groups 
    User -> App : Add Friends/Groups 
    App -> User : Display Friends/Groups Info 
else User views newsfeed 
    User -> App : View Newsfeed 
    App -> User : Display Newsfeed with Connected Places
    end

    alt Group adds Maps
    Group -> App : Add Maps
    App -> Group : Display Maps with Locations
    else Group choose Role
    Group -> App : chose role (family maps, tourist groups, etc. )
    App -> Group : Display role Info
    end

    alt User(business owners) create a map
    User -> App : business owners:create a map with recommended places near their own store (like other stores, or bars to chill after shopping, etc…)
    App -> User :  Display Maps with Locations
    end

alt User creates route 
    User -> App : Create Route 
    App -> User : Display Route Info 
else User compare maps 
    User -> App : Compare Maps 
    App -> User : Display Map Comparison Results 
end

alt User check address book 
    User -> App : Check Address Book 
    App -> User : Display Place Recommendations 
end

alt App adds gamification features
App -> User : Add gamification features (e.g. collect places, discover new ones etc.)
User -> App : Play games
end 
alt Places create their own pods
Places -> App : (restaurants, shops, bars, etc.) to create their own pods
User -> Places : can connect to them
Group -> Places : can connect to them
else App creates Newsfedd from connected places
App -> User : Create a newsfeed from connected places
App -> Group : Create a newsfeed from connected places
end

@enduml

Below is this diagram

Image

Below is the uml diagram I wrote for lomap using plantuml.

@startuml
title LoMap APP UML Diagram
actor User 
actor Group
actor Places

participant "LoMap App" as LMA 
participant "Personal Pod" as PP 
participant "Centralized Database" as CDB 

User -> LMA : Create Personal Map 
LMA -> PP : Store Information 
LMA -> CDB : Store Performance-Related Information 

Group -> LMA : Create Personal Map 
Places-> LMA: Create Place Maps and Pods
LMA -> PP : Store Information

User -> LMA : View Places \n and Information 
LMA -> PP : Retrieve Information

User -> LMA : Add Reviews, \n Comments, Pictures, etc. 
LMA -> PP : Store Information 

User -> LMA : View Maps with Filters 
LMA -> PP : Retrieve Information 

User -> LMA : Create Routes 
LMA -> PP : Store Information 

User -> LMA : Compare Maps 
LMA -> PP : Retrieve Information 

User -> LMA : Connect to Address Book 
LMA -> PP : Store Information 

User -> LMA : Create Place Recommendations 
LMA -> PP : Store Information 

User -> LMA : Create Maps with \n Recommended Places 
LMA -> PP : Store Information 

LMA -> LMA : Gamification Features 
User -> LMA: Play Games
LMA -> PP : Store Information 

@endumml

Below is this diagram

Image

Below is the Use Case diagram I wrote for lomap using plantuml.

@startuml

title LoMap APP Use Case Diagram

actor User
actor Group
actor Place
participant "LoMap APP" as App

alt login
User -> App: Login
end

alt Map
User -> App: Create Maps
User -> App: Add Places 
User -> App: View Places
User -> App: Edit Places 
User -> App: Delete Places
User -> App: Share Places
User -> App: Compare Maps

Group -> App: Create Maps
Group -> App: Compare Maps 

Place -> App: Create Maps
Place -> App: Compare Maps 
end

alt Review
User -> App: Add Reviews
User -> App: View Reviews 
User -> App: Edit Reviews 
User ->App: Delete Reviews
end

alt Pictures
User -> App: Add Pictures 
User -> App: View Pictures 
User -> App: Edit Pictures 
User -> App: Delete Pictures
end

alt Route
User -> App: Create Routes 
User -> App: View Routes 
User -> App: Edit Routes 
User -> App: Delete Routes

Group -> App: Create Routes
Group -> App: View Routes 
Group -> App: Edit Routes 
Group ->App: Delete Routes

Place -> App: Create Routes 
Place -> App: View Routes 
Place -> App: Edit Routes 
Place -> App: Delete Routes
end

alt others
User -> App: Connect to Address Book 
User -> App: Create Place Recommendations 
User -> App: Create Newsfeed
App -> User: Create Newsfeed 
App -> User: Add Gamification Features
User -> App: Play Games
end 

alt Logout
User -> App: Logout
end

@enduml

Below is this diagram

Image

Below is the Deployment diagram I wrote for lomap using plantuml.

@startuml

node "User" as user {
    database "User Database" as userdb 
    node "LoMap App" as lomap { 
        database "LoMap Database" as lomapdb 
    } 
    node "Places" as places { 
        database "Place Database" as placedb 
    } 
    node "Address Book" as addressbook { 
        database "Address Book Database" as addressbookdb
    }
    node "Close Friends" as CloseFriends{
        database "Close Friends's Data" as closefrienddb
    }
} 
node "Cloud Environment" as cloud { 
    node "CI/CD" as cicd 
    node "Deployment Server" as deploy 
    node "Application Server" as appserver 
} 
node "Internet" as internet  

user --> lomap: Access\nLoMap App
lomap --> userdb: Read/Write\nUser Database
lomap --> lomapdb: Read/Write\nLoMap Database
places --> placedb: Read/Write\nPlace Database
addressbook --> addressbookdb: Read/Write\nAddress Book Database
CloseFriends -> closefrienddb: Read/Write\nCloseFriends Book Database 
lomap --> internet: Access\nInternet
cloud --> cicd: Execute\nCI/CD
cicd --> deploy: Deploy\nApplication
deploy --> appserver: Execute\nApplication Server
appserver --> internet: Access\nInternet

@enduml

Below is this diagram

Image

juanmglzs commented 1 year ago

This is about devices... split it into devices and where are they running

FdezAriasSara commented 1 year ago

This is about devices... split it into devices and where are they running

Remodeled the diagram using devices image