-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathhome.php
271 lines (250 loc) · 17.3 KB
/
home.php
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
<nav class="navbar navbar-expand-lg mt-lg-2">
<div class="container-fluid">
<a class="navbar-brand px-lg-4" href="#"><img src="assets/qlbase-logo.png" width="48" /> QLBase</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarColor04" aria-controls="navbarColor04" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarColor04">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="docs/">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="18" height="18" class="mb-1">
<path stroke-linecap="round" stroke-linejoin="round" d="M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.347a1.125 1.125 0 0 1 0 1.972l-11.54 6.347a1.125 1.125 0 0 1-1.667-.986V5.653Z" />
</svg>
Getting Started
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#services">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="18" height="18" class="mb-1">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 15a4.5 4.5 0 0 0 4.5 4.5H18a3.75 3.75 0 0 0 1.332-7.257 3 3 0 0 0-3.758-3.848 5.25 5.25 0 0 0-10.233 2.33A4.502 4.502 0 0 0 2.25 15Z" />
</svg>
Cloud-based Services
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="sandbox.php" target="_blank">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="18" height="18" class="mb-1">
<path stroke-linecap="round" stroke-linejoin="round" d="M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 0 1 4.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0 1 12 15a9.065 9.065 0 0 0-6.23-.693L5 14.5m14.8.8 1.402 1.402c1.232 1.232.65 3.318-1.067 3.611A48.309 48.309 0 0 1 12 21c-2.773 0-5.491-.235-8.135-.687-1.718-.293-2.3-2.379-1.067-3.61L5 14.5" />
</svg>
Sandbox
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/nthnn/QLBase" target="_blank">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="18" height="18" class="mb-1">
<path stroke-linecap="round" stroke-linejoin="round" d="M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5" />
</svg>
GitHub
</a>
</li>
</ul>
<div class="d-fle px-4">
<div class="desktop-only">
<p class="mt-2 pt-1"><a href="?page=log-in" class="text-decoration-none">Log-in</a> or
<a href="?page=sign-up" class="btn btn-outline-primary">Sign-up</a></p>
</div>
<div class="mobile-only" align="center">
<p class="mt-2 pt-1"><a href="?page=log-in" class="text-decoration-none">Log-in</a> or
<a href="?page=sign-up" class="btn btn-outline-primary">Sign-up</a></p>
</div>
</div>
<hr class="mobile-only"/>
</div>
</div>
</nav>
<br/><br/><br/>
<div class="container">
<div align="center" class="w-100">
<h3 class="col-lg-6"><i>Decentralizable</i>, <i>scalable</i>, and <i>reliable</i> backend solution alternative to traditional <b>NoSQL</b>, <b>SaaS</b>, and <b>cloud-based services</b>.</h3>
<br/>
<div class="desktop-only">
<ol class="breadcrumb col-lg-8 text-info fw-bold rounded-0 d-flex justify-content-center shadow pe-none">
<li class="breadcrumb-item">Authentication</li>
<li class="breadcrumb-item">SMS Verification</li>
<li class="breadcrumb-item">Data Analytics</li>
<li class="breadcrumb-item">Database System</li>
<li class="breadcrumb-item">Cloud Storage</li>
</ol>
</div>
<div class="mobile-only">
<hr/>
</div>
</div>
</div>
<div class="container">
<br id="services"/>
<div align="center">
<h1>
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="42" height="42" class="mb-3">
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 15a4.5 4.5 0 0 0 4.5 4.5H18a3.75 3.75 0 0 0 1.332-7.257 3 3 0 0 0-3.758-3.848 5.25 5.25 0 0 0-10.233 2.33A4.502 4.502 0 0 0 2.25 15Z" />
</svg>
Cloud-based Services
</h1>
</div>
<ul class="timeline">
<li class="event" data-date="Authentication">
<div class="row">
<div class="col-lg-6">
<p>QLBase provides a robust authentication system that allows you to create, retrieve, update, and delete user accounts securely.</p>
<ul>
<li>
<b>User Registration</b>
<p>Developers can easily integrate user registration, defining the necessary fields for user creation. This flexibility ensures that the registration process aligns with the unique needs of the application.</p>
</li>
<li>
<b>Login and Authentication</b>
<p>Users can securely log in using their credentials, with support for diverse authentication mechanisms. This ensures accessibility and convenience for users while maintaining the necessary security measures.</p>
</li>
<li>
<b>Account Enabling/Disabling</b>
<p>You can disable and enable user accounts as needed. When an account is disabled, the user cannot log in until it's enabled again. This feature is particularly useful for handling suspicious or inactive accounts.</p>
</li>
<li>
<b>Updating and Deleting Accounts</b>
<p>In QLBase, you can update user account details or delete accounts efficiently using either the user's username or email. This provides flexibility in managing user information based on the application's evolving requirements.</p></li>
<li>
<b>Account Fetching</b>
<p>Flexibility in fetching user accounts; by specified username or email. Additionally, QLBase supports fetching all user information in a single request, providing a comprehensive overview of user accounts when needed.</p>
</li>
</ul>
</div>
<div class="col-lg-6">
<img src="./assets/qlbase-cat-3.png" width="100%" />
</div>
</div>
<hr/>
</li>
<li class="event" data-date="SMS Verification">
<div class="row">
<div class="col-lg-6">
<p>Easily integrate SMS verification into your application using QLBase's OTP service. Protect your user accounts with one-time passwords sent via SMS. QLBase provides SMS verification functionality using an Arduino UNO with a SIM900 Shield as the underlying SMS hardware. This setup allows you to seamlessly integrate SMS verification into your application for added security. </p>
<ul>
<li>
<b>OTP Generation</b>
<p>Utilizing the Arduino UNO with the SIM900 Shield, QLBase facilitates the secure generation of unique six-digit OTPs, ensuring a robust mechanism for user verification.</p>
</li>
<li>
<b>SMS Delivery</b>
<p>The integration with Arduino's SIM900 allows QLBase to send SMS messages efficiently, providing users with the necessary OTP for verification purposes. Including support contact details adds an extra layer of assistance.</p>
</li>
<li>
<b>Verification Endpoint</b>
<p>Users can interact with the verification endpoint, providing the OTP received via SMS to confirm their phone numbers. This API-driven verification process enhances the user experience by integrating with your application's workflows.</p>
</li>
</ul>
</div>
<div class="col-lg-6">
<img src="./assets/qlbase-cat-4.png" width="100%" class="mt-4" />
</div>
</div>
<hr/>
</li>
<li class="event" data-date="Data Analytics">
<div class="row">
<div class="col-lg-6">
<p>QLBase includes powerful data analytics capabilities such as track identification, general tracking with event name and JSON payloads, page tracking with a specified page name and category, and making alias for users and anonymous users.</p>
<ul>
<li>
<b>Identification Trackers</b>
<p>QLBase provides robust features for precise data identification, allowing you to associate user actions with specific individuals or anonymous IDs.</p>
</li>
<li>
<b>General Analytics Tracking</b>
<p>The data tracking feature captures a variety of user interactions, encompassing general tracking with event names and JSON payloads. This allows you to monitor specific events or actions performed by users, along with additional data payloads for more contextual information.</p>
</li>
<li>
<b>Tracker Paging</b>
<p>Paged tracking incorporates efficient data paging mechanisms, addressing the challenges associated with handling large datasets without compromising performance and is crucial for applications dealing with substantial datasets, preventing performance bottlenecks and enhancing user experience.</p>
</li>
<li>
<b>Anonymous Users and Aliasing</b>
<p>Data analytics and tracking also facilitates aliasing for both registered users and anonymous users, allowing you to create alternative identifiers or pseudonyms for them.</p>
</li>
</ul>
</div>
<div class="col-lg-6" align="center">
<img src="./assets/qlbase-cat-5.png" width="80%" class="mt-4" />
</div>
</div>
<hr/>
</li>
<li class="event" data-date="Database System">
<div class="row">
<div class="col-lg-6">
<p>QLBase offers a comprehensive database storage solution designed to meet the needs of modern applications. With its scalable and reliable architecture, QLBase provides users with robust data management capabilities, leveraging MySQL as the internal database engine.</p>
<ul>
<li>
<b>CRUD Operations</b>
<p>QLBase supports essential CRUD (Create, Read, Update, Delete) operations, empowering users to manage their data efficiently within the MySQL database.</p>
</li>
<li>
<b>Scalability</b>
<p>QLBase's database storage is designed to scale seamlessly as data volumes grow within the MySQL environment, accommodating growing datasets without sacrificing performance or reliability.</p>
</li>
<li>
<b>Inter-API Communication</b>
<p>The API provided by QLBase exposes data in JSON format, allowing seamless integration with client applications. This JSON-based API simplifies data exchange and enables interoperability with a wide range of programming languages and platforms.</p>
</li>
</ul>
</div>
<div class="col-lg-6" align="center">
<img src="./assets/qlbase-cat-6.png" width="80%" class="mt-4" />
</div>
</div>
<hr/>
</li>
<li class="event" data-date="Cloud Storage">
<div class="row">
<div class="col-lg-6">
<p>QLBase incorporates a sophisticated cloud file storage system designed to streamline file management tasks within your application. With its cloud-based architecture, QLBase offers a reliable and scalable solution for storing and accessing files securely. </p>
<ul>
<li>
<b>File Uploads</b>
<p>QLBase simplifies the process of uploading files, allowing users to effortlessly upload various types of files, including images, documents, and media.</p>
</li>
<li>
<b>File Retrieval</b>
<p>Retrieve files securely using unique file identifiers generated by QLBase. With robust file retrieval capabilities, users can easily access uploaded files whenever needed, ensuring seamless integration with client applications and efficient file management workflows.</p>
</li>
<li>
<b>Reliability</b>
<p>QLBase leverages cloud infrastructure to provide scalable and reliable file storage capabilities. By utilizing cloud services, QLBase ensures that your application can handle growing volumes of files without compromising performance or reliability. </p>
</li>
<li>
<b>Data Security and Compliance</b>
<p>Security is paramount when it comes to file storage, and QLBase prioritizes data security and compliance with industry standards. QLBase employs robust encryption mechanisms to safeguard files at rest, ensuring that sensitive data remains protected against unauthorized access.</p>
</li>
</ul>
</div>
<div class="col-lg-6" align="center">
<img src="./assets/qlbase-cat-7.png" width="80%" class="mt-4" />
</div>
</div>
</li>
</ul>
<br/><br/>
<div class="border-primary border p-4 shadow">
<h1>Tech Stack</h1>
<p>Special thanks to all the technologies, softwares, and language below. QLBase would be impossible without you and your community.</p>
<div align="center">
<div class="col-lg-5">
<a href="https://www.php.net/" target="_blank"><img src="assets/ic-php.png" width="64" class="m-2"/></a>
<a href="https://www.mysql.com/" target="_blank"><img src="assets/ic-mysql.png" width="64" class="m-2" /></a>
<a href="https://www.apachefriends.org/" target="_blank"><img src="assets/ic-xampp.png" width="64" class="m-2" /></a>
<a href="https://jquery.com/" target="_blank"><img src="assets/ic-jquery.png" width="64" class="m-2" /></a>
<a href="https://go.dev/" target="_blank"><img src="assets/ic-golang.png" width="64" class="m-2" /></a>
<a href="https://vitejs.dev/" target="_blank"><img src="assets/ic-vite.png" width="64" class="m-2" /></a>
<a href="https://vuejs.org/" target="_blank"><img src="assets/ic-vue.png" width="64" class="m-2" /></a>
<a href="https://www.typescriptlang.org/" target="_blank"><img src="assets/ic-typescript.png" width="64" class="m-2" /></a>
<a href="https://git-scm.com/" target="_blank"><img src="assets/ic-git.png" width="64" class="m-2" /></a>
<a href="https://heroicons.com/" target="_blank"><img src="assets/ic-heroicons.png" width="64" class="m-2" /></a>
<a href="https://www.arduino.cc/" target="_blank"><img src="assets/ic-arduino.png" width="64" class="m-2" /></a>
<a href="https://platformio.org/" target="_blank"><img src="assets/ic-platformio.png" width="64" class="m-2" /></a>
</div>
</div>
</div>
<br/>
</div>
<script src="scripts/vendors/bootstrap.bundle.min.js"></script>
<?php include_once("components/footer.html"); ?>