NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

LICENSE SERVER PROJECT

Database Design:
We need to design a database where license information will be stored. We will be using SQLite db for the database. The license database should store the License Project Name, License Key, License Expiry date, License type (Annual, Trial), License Status, and the email address of the license holder. Additionally, we can store the log records in the database.

API Design:
The application will serve requests through an API, which will listen to incoming requests and perform necessary operations. This API will authenticate incoming data, access the database, and provide the required information if a valid license is found. A log record will be kept for each incoming request (IP address, date and time of the request, and exception message, if any, will be logged). All these logging operations will be performed in the database.

Data Validation:
Data validation is the most critical stage of the process. When querying a license, the License Key and the Channel Count will be sent. The Channel Count will be optional. Thus, even in exceptional cases, the License Key sent will be a unique value. When generating the license key, the channel count selection will be a specific option for that project. In this case, only the validity check will be made based on the License Key and the expiration date of the license holder's project, regardless of the channel count.

License Verification:
The license information in incoming requests should be compared to the records in the database. If a valid license is found, a JSON data response will be returned by the API, {"status":"valid", "message":""} or {"status":"invalid", "message":"Key not found"}. After creating the license for the first time, the license status property will be false. The license status will be checked after the first request. If the status is false, the license status will be set to true based on the license type entered during the creation of the license key. If the license type is Annual, the license expiry will be extended by 1 year. If it is Trial, it will be extended by 15 days, and the license will be activated. Then, a JSON response will be returned based on whether the license exists, the channel count, and whether the license has expired or not.

Security:
The application will be equipped with security features such as user authentication and authorization mechanisms.

License Expiration Control:
A mechanism will be created to control the validity period of the license. The licenses whose validity period has expired can be made invalid in the database. Thus, when verifying the license, the validity of the license will be checked first, and then the license status will be checked, and the other checks will be performed without returning a JSON response. In addition, the license holder's registered email address will be informed as the license expiration date approaches, and these operations will be logged.

Logging Design:
A single table can be used for logging, or a separate log table can be opened for each operation (distinguished by log type).

License Key Generation:
The license key will consist of letters and numbers, will be 16 digits long, and will have the format AB12-CD34-5673-K2MA.

Web Interface Design
Database design related to the interface
A table named tblAdmin will be created with three columns: username, password, and role. The role column will determine whether the user has Read or Write permission, which will determine which features the user can view on the interface. A separate table will log who added each license key and when.

Login Page
A user will log in based on the tblAdmin page's status.

Admin Page
License key creation, adding a user, and other operations will be performed here.
     
 
what is notes.io
 

Notes is a web-based application for online taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000+ notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 14 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.