Share My Creation [web] Support Ticketing System

Current version: 0.18
Status: Released
Database: MySQL, Firebird, PostgreSQL, SQLite
Price: $120

Preview
1713288043227.png


Demo

  1. Server: jServer (For production, it is a compiled jar to run on Linux or Windows VPS)
  2. Backend: Powered by EndsMeet framework and Web API Template 2 which produces JSON format REST API. Business logic coded with B4X.
  3. Database: MySQL, Firebird and SQLite. Other DBMS may be added in the future. MiniORM as query builder.
  4. Template: AdminLTE3 (Bootstrap 4) powered by Velocity Template Engine.
  5. File Uploader: jquery-uploader with nice image viewer.
  6. Security: Session and password hashing. SQL prepared statements to prevent SQL injection.
  7. Email: SMTP with jNet library for new ticket creation, client registration, reset and change password.
  8. Knowledge: Required basic skills in web development such as HTML, CSS and JavaScript (jQuery).
  9. SEO: Pretty URL routes
  1. Not PHP, .NET, Python
  2. No Drag-and-drop tool for front-end web UI included
  3. No B4X Views like B4XTable, XCustomListview, B4XSearchTemplate can be use (this is a B4J non-UI app)
  4. Not a low code/no code app generator
  5. No BANano, BVAD3, SithasoDaisy
  6. No Vue, Angular, ReactJS
  7. Not PWA
  8. No NPM, Composer or package.json
  9. No compiled JavaScript or CSS
  10. No virtual environment or docker
  11. Not working in shared hosting
  12. No cookie, localstorage and JWT used
  13. Web API is not suitable for B4A or B4i clients*
* I decided to remove the complexity of JWT and only focus on server session (stateful). However, it is possible to support mobile clients (stateless) with some modification but this is out of the scope of this project.
  1. This is the first complete web app for Ticketing System in the forum ever made.
  2. It is powered by EndsMeet, a web development framework with libraries build from the ground up such as Web API template and Velocity library.
  3. You don't want to use PHP or C# but choose B4X as your backend programming language hosted on the high performance jServer powered by Jetty.
  4. You want to use a simple yet powerful template engine and you don't want to use Java Spring, this project shows how you can use Velocity template engine with complex layouts.
  5. The most popular AdminLTE template is included as a starting point. If you have found a nice HTML dashboard template in themeforest, colorlib, envato, templatemonster, etc for your upcoming projects, you can switch to it with some modifications.
  6. You want to see how MiniORM can simplify the way to build SQL queries.
  7. You want to start develop with the lightweight SQLite and migrate to other database engine such as MySQL, SQL Server, Firebird or PostgreSQL in the future.
  8. You plan to build a REST API server which can be reused for your mobile or desktop apps.
  9. You want to figure out how the front-end UI such as collapsible panel, cascading dropdown list, responsive layout are made with JavaScript or jQuery and how to call REST API using jQuery Ajax. This provide a good user interface and experience for desktop and mobile users.
  10. You want to know how sessions work in jServer web app. How to route end users and administrator login to different pages.
  11. You want to know how emails are sent using SMTP or jNET library for user registration, activation, change password and reset password.
  12. You have an idea to build other web apps such as e-commerce, shopping cart, inventory, e-learning, ERP, CRM, project management, data collection, dashboard, etc then this project can be used as a base template.
Then, get this source code at a very low price while it last!
Return JSON response using MiniORM:
Private Sub GetClients
    #region Documentation
    ' #Version = v2
    ' #Desc = List all clients
    #End region
    Try
        If Not(user_type = "staff") Then
            HRM.ResponseCode = 401
            HRM.ResponseError = "Authorization required"
            ReturnApiResponse
            Return
        End If
        Dim DB As MiniORM
        DB.Initialize(Main.DBOpen, Main.DBEngine)
        DB.Table = "tbl_clients"
        DB.Query
        HRM.ResponseCode = 200
        HRM.ResponseData = DB.Results
    Catch
        LogError(LastException.Message)
        HRM.ResponseCode = 422
        HRM.ResponseError = "Error execute query"
    End Try
    DB.Close
    ReturnApiResponse
End Sub
View on Github
 
Last edited:

aeric

Expert
Licensed User
Longtime User
Please ask questions before making order.

Please make sure everyone is clear and understand how this system works before proceed.

To clarify,
The Front-end UI is modified from AdminLTE 3 template which is based on Bootstrap 4. Means, it is HTML, CSS and Javascript (jQuery)!
The template is using Velocity library. Which means, it is using .vm extensions file.

Please understand, that this is a Web app built with the abovementioned Front-end technology consuming REST API (JSON) from B4X backend.

Please don't misunderstand that B4X UI Views like B4XTable can be converted to HTML table. This is not ABM or BANano Web app project.

Please refer to my Web API Template for more details.
 

Magma

Expert
Licensed User
Longtime User
1) Please understand, that this is a Web app built with the abovementioned Front-end technology consuming REST API (JSON) from B4X backend.

2) Please don't misunderstand that B4X UI Views like B4XTable can be converted to HTML table. This is not ABM or BANano Web app project.
1) that means ... that we must run at vps server a b4x app - right ?

2) ...i misunderstand... mean that those nice table are html and javascript (i understand that is just html and javascript/jquery)... or b4x code ?

:)
 
Last edited:

aeric

Expert
Licensed User
Longtime User
1) that means ... that we must run at vps server a b4x app - right ?

2) ...i misunderstand... mean that those nice table are html and javascript (i understand that is just html and javascript/jquery)... or b4xcode ?

:)
1. Yes. It is a B4J Server app for the Back-end. No PHP or .NET.
2. I don't know there is a programming language called b4xcode, do you mean it is a company name? 😅

The Front-end is pure HTML5, CSS3, jQuery 3.6. No "modern" framework or compiled/minified javascript (except the minified CSS and JS bundled with Bootstrap). Yes, it is powered by Bootstrap 4 framework! (BS4 is not a modern framework right?)
 

aeric

Expert
Licensed User
Longtime User
Please don't misunderstand that B4X UI Views like B4XTable can be converted to HTML table.
I mean I don't know it is possible use B4X UI Views in Web App. If you know, please let me know.
Maybe you want to refer to Adobe Flash or Silverlight.
Even you use PHP, .NET, Python, Ruby or Java, the output is still HTML, CSS and JavaScript.
 

amorosik

Expert
Licensed User
I did not undertand well
Suppose there is a software house A (produce of projects K, W, Z), and customer B (project K), customer C (project K), customer D (project W)
Does the project also include the part dedicated to entering tickets for the customers or is it a dedicated project that can only be used by the software house?
 

aeric

Expert
Licensed User
Longtime User
I did not undertand well
Suppose there is a software house A (produce of projects K, W, Z), and customer B (project K), customer C (project K), customer D (project W)
Does the project also include the part dedicated to entering tickets for the customers or is it a dedicated project that can only be used by the software house?
I am offering a basic minimum system at a very low price.
Different people will have different needs.
What suited you may not suited for the rest.
However, if you have the source code, you can make addition with less effort since the basic structure is already there for you.
If you want me to customize for you, that is additional charges.
 

NGUYEN TUAN ANH

Active Member
Licensed User
I am offering a basic minimum system at a very low price.
Different people will have different needs.
What suited you may not suited for the rest.
However, if you have the source code, you can make addition with less effort since the basic structure is already there for you.
If you want me to customize for you, that is additional charges.
Did you use B4J and BANanoVuetifyAD3 in your project ?
 

aeric

Expert
Licensed User
Longtime User
Did you use B4J and BANanoVuetifyAD3 in your project ?
B4J: yes

The backend is build with jServer and Web API Template 2 to output the data in JSON format.
I also make use of Velocity library as the template engine to generate the HTML front-end.
If anyone is familiar with developing web apps using PHP Laravel or Python Django/Flask, what I am doing with B4J is the back-end.

BANanoVuetifyAD3: no

This project is mainly for demonstrating the Web API Template I have developed.
I decided to use AdminLTE template which is already have (almost) all the layouts designed.
Unless there is a demand to use BVAD3 or SithasoDaisy, I can develop another one with these libraries.
 

amorosik

Expert
Licensed User
If the system was foreseen to allow the customer to enter the ticket directly and then the various entries were visible, searchable, sortable, in the main system, then I would be interested in trying it, and if the price were low, also buying it
 

aeric

Expert
Licensed User
Longtime User
allow the customer to enter the ticket directly
Yes, it is designed as such behavior, provided he/she is a registered client, login with an activated account.

the various entries were visible
what kind of entries?
You may check the spoiler for some screenshots. Customer can input the category and priority. Once ticket is created, he/she can check the ticket creation date, status and staff assigned to the ticket. He/she can send message to the staff. He/she also can add product (equipments) with Type, Brand, model and Serial Number.

searchable, sortable,
This features are planned to be added in the future.

if the price were low
If you still don't consider the early bird discount price now is low, I don't know what to say. This price will not be offered again once the promotion ends.
 

amorosik

Expert
Licensed User
Yes, it is designed as such behavior, provided he/she is a registered client, login with an activated account.


what kind of entries?
You may check the spoiler for some screenshots. Customer can input the category and priority. Once ticket is created, he/she can check the ticket creation date, status and staff assigned to the ticket. He/she can send message to the staff. He/she also can add product (equipments) with Type, Brand, model and Serial Number.


This features are planned to be added in the future.


If you still don't consider the early bird discount price now is low, I don't know what to say. This price will not be offered again once the promotion ends.

Yes, of course I think the login with a user already registered and present in the archive is also acceptable, and therefore the first registration with a user must be performed by the manufacturer/supplier staff

From my point of view, the end user should be able to add (only add, not delete) a new ticket, and choose (only select, not add) the category or priority It should also be able to filter tickets and display only those with certain characteristics, for example by description, by category, by priority, by date, etc.

Ok

Yes of course, for 'low price' I consider a figure around 50 euros acceptable, and therefore, the proposal of 120 euros discounted at 50% is perfectly in line with my idea of 'low price'
 
Last edited:
Top