Website Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commitbff99a11272743fb1caa4b7d345ebb3b0f8a5609 (patch)
Author
 Kamen Mladenov <kamen.d.mladenov@protonmail.com>
2022-05-03 15:56:30 +0300
Committer
 GitHub <noreply@github.com>
2022-05-03 15:56:30 +0300
Filese3c59d8df42985b4ebcf61b1fdee2b4dd8302312
FMI-OOP-P1_TicketSystem-bff99a11272743fb1caa4b7d345ebb3b0f8a5609.tar
FMI-OOP-P1_TicketSystem-bff99a11272743fb1caa4b7d345ebb3b0f8a5609.tar.gz
FMI-OOP-P1_TicketSystem-bff99a11272743fb1caa4b7d345ebb3b0f8a5609.zip
Parent92d24ee2d446335ae78c13d0e2dafa306b0f1f61 (diff)
Updated class contents and improved layout
1 files changed, 104 insertions, 87 deletions
-rw-r--r--README.md191
diff --git a/README.md b/README.md
index 9c94fdb..8d63c2d 100644
--- a/README.md
+++ b/README.md
@@ -3,8 +3,7 @@ TicketSystem: Project 1 from module OOP in FMI Uni-Sofia
## Initial structure
-![FMI-OOP-P1_TicketSystem Class Diagram](https://user-images.githubusercontent.com/46843671/165782133-4c8dffbb-f4f8-46e7-9d20-00531c98ef11.png)
-
+![FMI-OOP-P1_TicketSystem Class Diagram](https://user-images.githubusercontent.com/46843671/166456741-f98d6feb-1f6a-48dc-b144-68440d471bc9.svg)
<details>
<summary>Diagram source</summary>
@@ -15,118 +14,136 @@ TicketSystem: Project 1 from module OOP in FMI Uni-Sofia
#bendSize: 0
#fillArrows: true
#lineWidth: 2
+#leading: 1.3
+#direction: right
-#.groupsfe: title=italic fill=#b2ee97
-#.groupv: title=italic fill=#97c8ee
-#.groupsc: title=italic
+#.groupsfe: title=italic fill=#b2ee97 direction=down
+#.groupv: title=italic fill=#97c8ee direction=down
+#.groupsc: title=italic direction=down
-[<groupsfe> System for events
- [Ticket|
- unsigned row
- unsigned seat
+[<groupsc> Standard Classes
+ [List<T>|
+ - T* elements
+ - unsigned count
+ - unsigned length
+ |
+ + add(elem)
+ + insertAt(elem, index)
+ + removeAt(index)
+ + findIndex(elem);
+ + contain(elem);
+ + operator\[\](index)
]
+
+ [OrderedList<T>|
+ + insert(elem)
+ + remove(elem)
+ ]
+ [List<T>]<--[OrderedList<T>]
- [Reservation|
- char\[6\] password
- unsigned row
- unsigned seat
- String note
+ [DateTime|
+ - unsigned day
+ - unsigned month
+ - int year
+ - unsigned hour
+ - unsigned minute
]
- [Event|
- List<Ticket> _tickets
- List<Reservation> _reservations|
- Date date
- String name
- Hall* hall|
- reserveTicket()
- cancelReservation()
- buyTicket()
+ [String|
+ - char* str
+ - unsigned length
+ - unsigned count
]
- [Ticket]<--[Event]
- [Reservation]<--[Event]
- [EventSystem|
- List<Event> _events
- unsigned _soonestUpcoming|
- ★createEvent()
- cancelEvent()
- ★reserveTicket(char*, Date, unsigned, unsigned)
- ★cancelTicketReservation()
- ★buyTicket()
- queryUpcoming(unsigned)
- ★queryFreeSeats(Event)
- ★queryReservations(Event)
- ★queryBoughtTickets(Date, Date, Hall)
- ☆queryMostVisited()
- ☆queryInsufficientlyVisited()
+ [Command|
+ - String name
+ - void (*exec)()
]
- [Event]<--[EventSystem]
+
+ [Menu|
+ - List<Command> _commands
+ |
+ + navigate()
+ ]
+ [Command]<--[Menu]
+
+ [Toolbox.h|
+ read()
+ print()
+ printLine()
+ printOrderedListElem()
+ resetOrderedList()
+ ]
+ [Menu]-/-[Toolbox.h]
+
+ [String]-/-[DateTime]
+ [DateTime]-/-[List<T>]
]
[<groupv> Venue
[Hall|
- int number
- unsigned rowCount
- unsigned seatsPerRow
+ - int number
+ - unsigned rowCount
+ - unsigned seatsPerRow
]
[Venue|
- List<Hall> halls
- EventSystem es
+ - List<Hall> halls
+ - EventSystem es
]
[Hall]<--[Venue]
]
-[System for events]<--[Venue]
+[Standard Classes]-/-[Venue]
-[<groupsc> Standard Classes
- [List<T>|
- T _elements*
- unsigned _count
- unsigned _length|
- add(T elem)
- operator\[\](unsigned index)
- Rule of 4
- Move semantics
- Operators
- ]
-
- [Date|
- unsigned _day
- unsigned _month
- int _year
- unsigned _hour
- unsigned _minute
- ]
-
- [String|
- char* _str
- unsigned _length
- unsigned _count|
- Rule of 4
- Move semantics
- Operators
+[<groupsfe> System for events
+ [Ticket|
+ - unsigned row
+ - unsigned seat
]
- [Command|
- String name
- void (*exec)()
+ [Reservation|
+ - Ticket ticket
+ - char\[8\] password
+ - char\[32\] note
]
- [Menu|
- List<Command> _commands|
- navigate()
+ [Event|
+ - OrderedList<Ticket> _tickets
+ - OrderedList<Reservation> _reservations
+ + Date date
+ + String name
+ + Hall* hall
+ |
+ + reserveTicket()
+ + cancelReservation()
+ + buyTicket()
]
- [Command]<--[Menu]
+ [Ticket]<--[Event]
+ [Reservation]<--[Event]
- [UserInterface|
- List<Menu> _menus|
- start()
+ [EventSystem|
+ - OrderedList<Event> _events
+ - unsigned _soonestUpcoming
+ |
+ + createEvent() ★
+ + cancelEvent()
+ + reserveTicket(eventIndex, note, row, seat) ★
+ + cancelTicketReservation() ★
+ + buyTicket() ★
+ + queryUpcoming(hallIndex)
+ + queryFreeSeats(eventIndex) ★
+ + queryReservations(eventIndex)
+ + reportReservations(eventIndex) ★
+ + queryBoughtTickets(stDate, endDate, hall) ★
+ + queryMostVisited() ☆
+ + queryInsufficientlyVisited() ☆
]
- [Menu]<--[UserInterface]
+ [Event]<--[EventSystem]
- [List<T>]-/-[String]
- [String]-/-[Date]
+ [StatusCodes.h|
+ enum StatusCode
+ ]
+ [EventSystem]-/-[StatusCodes.h]
]
-```
+[Venue]-->[System for events]
</details>