Website Summary Files Commits Branches @commit @diff @stats
path: root / docs / html / index.html
blob: ae068ae2764033e5c923a62cd42d813d6dc5d091 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FMI Ticket System: FMI Tickets System</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">FMI Ticket System
   </div>
   <div id="projectbrief">| Kamen Mladenov | FMI Computer Science Year 1 Group 6 | Project 1 | Project Topic 4 |</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div><div class="header">
  <div class="headertitle"><div class="title">FMI Tickets System </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p ><a class="anchor" id="mainpage"></a> </p><dl class="section author"><dt>Author</dt><dd>Kamen Mladenov; FMI Computer Science, Year 1, Group 6; Project 1, Topic 4 </dd></dl>
<dl class="section date"><dt>Date</dt><dd>12 May 2022 </dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>GNU General Public License v3.0</dd></dl>
<dl>
<dt>Source Code </dt>
<dd><a href="https://github.com/Syndamia/FMI-OOP-P1_TicketSystem">https://github.com/Syndamia/FMI-OOP-P1_TicketSystem</a> </dd>
</dl>
<h1><a class="anchor" id="autotoc_md0"></a>
About</h1>
<p >The "FMI Ticket System" is a small project, designed for managing the seats for different events. You can create or cancel an event in any available hall, reserve or straight out buy tickets for any given event and create some reports.</p>
<h1><a class="anchor" id="autotoc_md1"></a>
Structure overview</h1>
<p >The project is roughly divided into 4 main components: User Interface, Services, Models and Generic <a class="el" href="index.html#fig1">fig1</a>.</p><ul>
<li>The User Interface is the messenger between a user and the underlying application. All input and output is handled here.</li>
<li>Services contain the business logic of the whole application. All requests to do anything like buying a ticket or creating an event must be sent to here.</li>
<li>Models are the general classes that are used in the previous two layers.</li>
<li>Generic is a place for all code that is can be used independently from the project. Stuff like <a class="el" href="classDate.html" title="Stores a day, month and year.">Date</a>, <a class="el" href="classString.html">String</a> or <a class="el" href="classList.html" title="Templated class that stores an array of elements in dynamic memory.">List</a>.</li>
</ul>
<p >This offers a fairly modular and flexible architecture, which should make big changes or additions to the code easier and more pain-free.</p>
<h1><a class="anchor" id="autotoc_md2"></a>
Building the project</h1>
<p >Instructions are all for <code>gcc</code>. All commands should be executed while in the <code>src</code> folder.</p>
<h2><a class="anchor" id="autotoc_md3"></a>
Linux/BSD/MacOS</h2>
<div class="fragment"><div class="line">g++ *.cpp */*.cpp */*/*.cpp -o TicketSystem.out &amp;&amp; ./TicketSystem.out</div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md4"></a>
Windows (PowerShell)</h2>
<div class="fragment"><div class="line">g++ (Get-ChildItem -Recurse *.cpp) -o TicketSystem.exe &amp;&amp; ./TicketSystem.exe</div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md5"></a>
Running the tests</h1>
<p >Instructions are all for <code>gcc</code>. All commands should be executed while in the <code>tests</code> folder.</p>
<h2><a class="anchor" id="autotoc_md6"></a>
Linux/BSD/MacOS</h2>
<div class="fragment"><div class="line">g++ Tests_ALL.cpp ../src/*/*.cpp ../src/*/*/*.cpp -o Tests_ALL.out &amp;&amp; ./Tests_ALL.out</div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md7"></a>
Acknowledgements</h1>
<dl>
<dt>Wikipedia </dt>
<dd>Leap year calculation for <a class="el" href="classDate.html" title="Stores a day, month and year.">Date</a> <br  />
 <a href="https://en.wikipedia.org/wiki/Leap_year#Gregorian_calendar">https://en.wikipedia.org/wiki/Leap_year#Gregorian_calendar</a> </dd>
<dt>StackOverflow </dt>
<dd>Way to clear the console in <a class="el" href="Toolbox_8hpp.html" title="Stores a wide range of functions for simpler/more automated printing.">Toolbox.hpp</a> <br  />
 <a href="https://stackoverflow.com/a/52895729/12036073">https://stackoverflow.com/a/52895729/12036073</a> </dd>
</dl>
<h1><a class="anchor" id="autotoc_md8"></a>
Figures</h1>
<p ><a class="anchor" id="fig1"></a><b>Figure 1:</b> Overview of the "FMI Ticket System" design</p>
<div class="image">
<object type="image/svg+xml" data="FMI-OOP-P1_TicketSystem Overview.svg" style="pointer-events: none;"></object>
</div>
  </div></div><!-- PageDoc -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>