This repository has been archived by the owner on Jun 4, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
architectureV2.html
203 lines (189 loc) · 13.9 KB
/
architectureV2.html
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<!DOCTYPE html>
<!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
<!--[if !IE]><!--> <html lang="en"> <!--<![endif]-->
<head>
<title>OpenRAP | Architecture Design</title>
<!-- Meta -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link href="https://fonts.googleapis.com/css?family=Pacifico" rel="stylesheet">
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<!-- Global CSS -->
<link rel="stylesheet" href="assets/plugins/bootstrap/css/bootstrap.min.css">
<!-- Plugins CSS -->
<link rel="stylesheet" href="assets/plugins/font-awesome/css/font-awesome.css">
<link rel="stylesheet" href="assets/plugins/prism/prism.css">
<link rel="stylesheet" href="assets/plugins/lightbox/dist/ekko-lightbox.min.css">
<link rel="stylesheet" href="assets/plugins/elegant_font/css/style.css">
<!-- Theme CSS -->
<link id="theme-style" rel="stylesheet" href="assets/css/styles.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="body-blue">
<div class="page-wrapper">
<!-- ******Header****** -->
<header id="header" class="header">
<div class="container">
<div class="branding">
<h1 class="logo">
<a href="index.html">
<span style="font-family: 'Pacifico',cursive">OpenRAP</span>
</a>
</h1>
</div><!--//branding-->
<ol class="breadcrumb">
<li><a href="index.html">Home</a></li>
<li class="active">Architecture Design</li>
</ol>
</div><!--//container-->
</header><!--//header-->
<div class="doc-wrapper">
<div class="container">
<div id="doc-header" class="doc-header text-center">
<h1 class="doc-title"><span aria-hidden="true" class="icon fa fa-object-group"></span> Architecture Design</h1>
<div class="meta"><i class="fa fa-clock-o"></i> Last updated: Feb 20th, 2018</div>
</div><!--//doc-header-->
<div class="doc-body">
<div class="doc-content">
<div class="content-inner">
<section id="introduction" class="doc-section">
<h2 class="section-title">Introduction</h2>
<div class="section-block">
<p>This page outlines the architecture overview of the system.</p>
</div><!--//section-block-->
<div class="section-block">
<h3 class='section-header'>Topics Covered</h3>
<div class="row">
<div class="col-md-12 col-sm-12 col-sm-12">
<h6>Device Management</h6>
<p>Components for managing the device, such as
<ul>
<li>User Management</li>
<li>Dashboard</li>
<li>Upgrading the device</li>
<li>File Management</li>
<li>Captive Portal Modification</li>
<li>SSID Modification</li>
</ul></p>
</div>
<div class="col-md-12 col-sm-12 col-sm-12">
<h6>Plugin Infrastructure</h6>
<p>Components that allow for extensibility of device features by means of predefined code that allows for custom features to be implemented in the device.</p>
</div>
<div class="col-md-12 col-sm-12 col-sm-12">
<h6>SDK</h6>
<p>A SDK that allows you to interface your plugins to common device functionalities in order to make development for the device easier.</p>
</div>
</div><!--//row-->
<div class="callout-block callout-info">
<div class="icon-holder">
<i class="fa fa-wrench"></i>
</div><!--//icon-holder-->
<div class="content">
<h4 class="callout-title">Additional Info</h4>
<p>Developers and those looking for more in-depth information of the exposed APIs can also check out the <a href='javascript:void(0)'><b>documentation.</b></a></p>
</div><!--//content-->
</div><!--//callout-->
</div><!--//section-block-->
</section><!--//doc-section-->
<section id="device-mgmt" class="doc-section">
<h2 class="section-title">Device Management</h2>
<div id="projects" class="section-block">
<h3 class="block-title">Introduction</h3>
<p>The Device management module allows for admin-level access to the device by interfacing common functionalities from the device to the user. These modules allow for even relatively inexperienced users to have a good understanding of what is going on. The components under device management are as follows:</p>
<div class="row">
<div class="col-md-6 col-sm-6 col-xs-12">
<h6>Dashboard</h6>
<p>This component is common to all users. It shows device stats such as the load on it, the disk usage and other system related metadata such as device version and last content refresh timestamp.</p>
</div>
<div class="col-md-6 col-sm-6 col-xs-12">
<h6>User Management</h6>
<p>This component is a higher-level administrative component. This allows for user management tasks such as user creation, user deletion and permissions management.</p>
</div>
</div><!--//row-->
<div class="row">
<div class="col-md-6 col-sm-6 col-xs-12">
<h6>Upgrade</h6>
<p>This component is used to upgrade the device by means of a build image in a .tgz format.</p>
<div class="callout-block callout-danger">
<div class="icon-holder">
<i class="fa fa-warning"></i>
</div><!--//icon-holder-->
<div class="content">
<h4 class="callout-title">Important!</h4>
<p>Care must be taken to determine the legitimacy of the built image. Usage of corrupted build files can cause the system to malfunction and be rendered unusable, causing potentially devastating loss of data and requirement of reinstallation.</p>
</div><!--//content-->
</div>
</div>
<div class="col-md-6 col-sm-6 col-xs-12">
<h6>File Management</h6>
<p>This component is a higher-level administrative component. This allows for user management tasks such as user creation, user deletion and permissions management.</p>
</div>
</div>
<div class="row">
<div class="col-md-6 col-sm-6 col-xs-12">
<h6>Captive Portal Modification</h6>
<p>This component allows for modification of the Captive Portal [The landing page when someone connects]. Allows for inclusion of images and android apks into the page. Care should be taken to ensure that the images are of proper format in order to avoid unexpected and unwanted behavior.</p>
</div>
<div class="col-md-6 col-sm-6 col-xs-12">
<h6>SSID Modification</h6>
<p>This component is a higher-level administrative component. This allows for the name of the SSID to be modified at the end point, facilitating increased device modularity and uniqueness.</p>
</div>
</div>
</div><!--//section-block-->
</section><!--//doc-section-->
<section id="plugins" class="doc-section">
<h2 class="section-title">Plugin Infrastructure</h2>
<div class="section-block">
<p>Plugins can be developed by users in order to extend the functionality of the device. While the core interfacing is written in GoLang, the user has 100% control over the language he/she uses in the front end and can interface the GoLang code with the frontend code. </p>
</div><!--//section-block-->
</section><!--//doc-section-->
<section id="sdk" class="doc-section">
<h2 class="section-title">SDK</h2>
<div class="section-block">
<p>The SDK interfaces common functions to allow for customization of system behavior. It differs from the plugin infrastructure in the fact that it does not allow for new, higher level functions to be created but instead allows for heavy customization of built-in methods. </p>
</div><!--//section-block-->
</section>
</div><!--//content-inner-->
</div><!--//doc-content-->
<div class="doc-sidebar">
<nav id="doc-nav">
<ul id="doc-menu" class="nav doc-menu hidden-xs" data-spy="affix">
<li><a class="scrollto" href="#introduction">Introduction</a></li>
<li>
<a class="scrollto" href="#device-mgmt">Device Management</a>
</li>
<li><a class="scrollto" href="#plugins">Plugin Infrastructure</a></li>
<li><a class="scrollto" href="#sdk">SDK</a></li>
</ul><!--//doc-menu-->
</nav>
</div><!--//doc-sidebar-->
</div><!--//doc-body-->
</div><!--//container-->
</div><!--//doc-wrapper-->
<!--//promo-block-->
</div><!--//page-wrapper-->
<footer id="footer" class="footer text-center">
<div class="container">
<!--/* This template is released under the Creative Commons Attribution 3.0 License. Please keep the attribution link below when using for your own project. Thank you for your support. :) If you'd like to use the template without the attribution, you can check out other license options via our website: themes.3rdwavemedia.com */-->
<small class="copyright">OpenRAP. 2017. All Rights Reserved. Template taken from <a href="http://themes.3rdwavemedia.com/" target="_blank">here.</a></small>
</div><!--//container-->
</footer><!--//footer-->
<!-- Main Javascript -->
<script type="text/javascript" src="assets/plugins/jquery-1.12.3.min.js"></script>
<script type="text/javascript" src="assets/plugins/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="assets/plugins/prism/prism.js"></script>
<script type="text/javascript" src="assets/plugins/jquery-scrollTo/jquery.scrollTo.min.js"></script>
<script type="text/javascript" src="assets/plugins/lightbox/dist/ekko-lightbox.min.js"></script>
<script type="text/javascript" src="assets/plugins/jquery-match-height/jquery.matchHeight-min.js"></script>
<script type="text/javascript" src="assets/js/main.js"></script>
</body>
</html>