-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Added component descriptions - Added phase list - Added component diagram per phase
- Loading branch information
Showing
10 changed files
with
342 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
@startuml(id=style) | ||
!theme crt-amber | ||
!pragma teoz true | ||
skinparam componentStyle rectangle | ||
skinparam backgroundColor transparent | ||
skinparam backgroundColor #3C3D3E | ||
|
||
<style> | ||
fontColor: #fda501 | ||
note, group { | ||
backgroundColor: #151515 | ||
} | ||
note { | ||
fontStyle: bold | ||
} | ||
box { | ||
lineStyle: 0 | ||
roundCorner: 8 | ||
linecolor: #151515 | ||
} | ||
</style> | ||
|
||
header "FamiLAB Access Control" | ||
hide footbox | ||
@enduml | ||
|
||
@startuml | ||
!include _shared.puml!style | ||
component TestComponent | ||
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
@startuml | ||
!include _shared.puml!style | ||
|
||
title Phase 0 | ||
|
||
actor user as "User" | ||
|
||
package "Access Control Point" { | ||
[reader] as "RFID Reader" <<MFRC522>> | ||
[mcu] as "Microcontroller" <<ESP-32>> | ||
[lock] as "Door Lock" | ||
} | ||
|
||
package "Raspberry Pi" { | ||
[server] as "Authentication\nServer" | ||
} | ||
|
||
user --> reader: Scans badge | ||
reader -> mcu: reads badge id | ||
mcu --> server: Is user allowed? | ||
|
||
server -> server: Checks hardcoded user list | ||
|
||
mcu <-- server: User is/is not allowed | ||
mcu -> lock: unlocks door | ||
|
||
user <-- lock: Opens for | ||
@enduml | ||
|
||
@startuml | ||
!include _shared.puml!style | ||
|
||
title Phase 1 | ||
|
||
actor user as "User" | ||
|
||
package "Access Control Point" { | ||
[reader] as "RFID Reader" <<MFRC522>> | ||
[mcu] as "Microcontroller" <<ESP-32>> | ||
[lock] as "Door Lock" | ||
} | ||
|
||
package "Raspberry Pi" { | ||
[server] as "Authentication\nServer" | ||
} | ||
|
||
cloud "Google" { | ||
[google] as "Google Sheet" | ||
} | ||
|
||
user --> reader: Scans badge | ||
reader -> mcu: reads badge id | ||
mcu --> server: Is user allowed? | ||
|
||
server <--> google: Fetch user access info | ||
|
||
mcu <-- server: User is/is not allowed | ||
mcu -> lock: unlocks door | ||
|
||
user <-- lock: Opens for | ||
@enduml |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
@startuml | ||
!include _shared.puml!style | ||
|
||
title Phase 0 | ||
hide footbox | ||
|
||
participant user as "User" | ||
|
||
box FamiLAB | ||
box "Access Control Point" | ||
participant reader as "RFID Reader" <<MFRC522>> | ||
participant mcu as "Microcontroller" <<ESP-32>> | ||
participant lock as "Door Lock" | ||
end box | ||
|
||
box "Raspberry Pi" | ||
participant server as "Authentication\nServer" | ||
end box | ||
end box | ||
|
||
== Badge Entry: Valid == | ||
|
||
user -> reader: User scans badge | ||
activate user | ||
activate reader | ||
reader -> mc: Read badge id | ||
deactivate reader | ||
activate mc | ||
mc -> server: Validate badge id | ||
activate server | ||
server->server: Compare badge id\nto hardcoded users list | ||
return ""200"" Ok | ||
lock <- mc: Unlock | ||
deactivate mc | ||
user <- lock: User can enter | ||
deactivate user | ||
|
||
== Badge Entry: Invalid == | ||
|
||
user -> reader: User scans badge | ||
activate user | ||
activate reader | ||
reader -> mc: Read badge id | ||
deactivate reader | ||
activate mc | ||
mc -> server: Validate badge id | ||
activate server | ||
server->server: Compare badge id\nto hardcoded users list | ||
return ""401"" Unauthorized | ||
user <- mc: Nothing happens | ||
@enduml | ||
|
||
@startuml | ||
!include _shared.puml!style | ||
|
||
title Phase 1 | ||
hide footbox | ||
|
||
participant user as "User" | ||
|
||
box FamiLAB | ||
box "Access Control Point" | ||
participant reader as "RFID Reader" <<MFRC522>> | ||
participant mcu as "Microcontroller" <<ESP-32>> | ||
participant lock as "Door Lock" | ||
end box | ||
|
||
box "Raspberry Pi" | ||
participant server as "Authentication\nServer" | ||
end box | ||
end box | ||
|
||
box "Cloud" | ||
participant google as "Google Sheet" | ||
end box | ||
|
||
== Badge Entry: Valid == | ||
|
||
user -> reader: User scans badge | ||
activate user | ||
activate reader | ||
reader -> mc: Read badge id | ||
deactivate reader | ||
activate mc | ||
mc -> server: Validate badge id | ||
activate server | ||
server -> google: Fetch all users and badges | ||
activate google | ||
return All users and badges | ||
server->server: Compare badge id\nto users list | ||
return ""200"" Ok | ||
lock <- mc: Unlock | ||
deactivate mc | ||
user <- lock: User can enter | ||
deactivate user | ||
|
||
== Badge Entry: Invalid == | ||
|
||
user -> reader: User scans badge | ||
activate user | ||
activate reader | ||
reader -> mc: Read badge id | ||
deactivate reader | ||
activate mc | ||
mc -> server: Validate badge id | ||
activate server | ||
server -> google: Fetch all users and badges | ||
activate google | ||
return All users and badges | ||
server->server: Compare badge id\nto users list | ||
return ""401"" Unauthorized | ||
user <- mc: Flash red light or something | ||
@enduml |