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:

Xfood

Expert
Licensed User
good morning, as far as I can tell, in my opinion the price proposed by @aeric , I think it's an honest price, the truth is that each of us has different methods of managing our tickets, and therefore to adapt the program to our needs need to work on it a bit, this would be "simple" at least for me if it was done in b4x environment, but using html css etc. for me it is very difficult to manage any changes
 

amorosik

Expert
Licensed User
good morning, as far as I can tell, in my opinion the price proposed by @aeric , I think it's an honest price, the truth is that each of us has different methods of managing our tickets, and therefore to adapt the program to our needs need to work on it a bit, this would be "simple" at least for me if it was done in b4x environment, but using html css etc. for me it is very difficult to manage any changes

Yes, I agree with you on everything
Please note that I did not ask to change anything
But if our colleague aeric asks "...if anyone is interested in trying it..." I pointed out to him that I too would be interested in trying it and also in buying it
If the project had some things that interest me, that's all
 

amykonio

Active Member
Licensed User
Longtime 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.
So, at 60$ (price with discount) you are offering source code?
Andreas.
 

aeric

Expert
Licensed User
Longtime User
good morning, as far as I can tell, in my opinion the price proposed by @aeric , I think it's an honest price, the truth is that each of us has different methods of managing our tickets, and therefore to adapt the program to our needs need to work on it a bit, this would be "simple" at least for me if it was done in b4x environment, but using html css etc. for me it is very difficult to manage any changes
You are correct. If you want a project 100% fit your needs out of the box then this is not the right project for you. As far as I know there is nothing exist like you described. Not sure if you mean ABM or BANano but my understanding is these libraries also not converting the B4X Views like B4XTable to Web app for you.
 

aeric

Expert
Licensed User
Longtime User
but using html css etc. for me it is very difficult to manage any changes

Require some skills in web development such as HTML, CSS and JavaScript (Bootstrap4 and jQuery)

HTML, CSS is not difficult if they have been simplified in some ways.
Using Bootstrap, the CSS styling is handled using some friendly class. There is no need to edit the CSS.

In my project, JavaScript/jQuery mostly use for AJAX call to API. That's it. Just learn one function. No need to bother about other JavaScript.

If anyone have seen my code, one will find that my files are well organized and naming. It should be easy to extend.

I am willing to guide anyone or maybe create a short tutorial on basics of Bootstrap and AJAX. It may takes around 20 minutes to learn.
By the way, I am a beginner too. If I can, you also can.
 

aeric

Expert
Licensed User
Longtime User
Latest version 0.11.0
Added search at top navigation bar, search by Ticket Code or Subject
Added form validation for Client Login, Register and Staff Login
Added show/hide password for Login and Register forms
Many bug fixes and user experience improvements
 

aeric

Expert
Licensed User
Longtime User
I think it's an honest price
I am not sure how an "honest" price is defined. I can only say I am providing the project with a "generous" price.
And it looks more like a donation price.

Honestly, I spent more than 2 months to build this project, day and night. I even work when I don't feeling well. If I consider 2 salary months, the total cost would be $4k to $5k. This cost is not yet include future enhancements. I even create this project when I knew there were not much interest on it. I have open the project requirements to all and tried my best to meet all of them. For me, if 1 or 2 person get this project for me to make ends meet I would be very grateful. I have shared a lot of projects for free for the past few years and don't get anything in return. This is very demotivate.
 

Magma

Expert
Licensed User
Longtime User
New update (version 0.15):

What's new?
  1. Upload attachments
  2. Datatable (paging, column sorting, searching)
  3. Add new message when updating ticket and adding new equipment
  4. Updated with latest MiniORM
  5. Bug fixes and more
Your commitment and dedication to update the code is the key of a successful product. Keep coding!
 

amorosik

Expert
Licensed User
I really like this project
I'm learning a lot of things by studying the code
And Aeric's assistance is quick and decisive
 

aeric

Expert
Licensed User
Longtime User
New major update (version 0.17 beta):

What's new?
  1. Knowledge Base - Articles by Topics
  2. Send Email to Client and Staff when creating new ticket (experimental)
  3. Create HTML file instead of sending email in Debug mode (keep in Objects folder)
  4. View non-image file in attachment section such as PDF or download as Zip file in new tab
  5. Firebird database support (jaybird JDBC driver required)
  6. Minor changes such as fontawesome icons in sidemenu
  7. Created Date column added to Ticket datatable
1713288043227-png.152756
 
Top