An MVC CRUD application has been written. MVC stands for Model-View-Controller and represents the highest form of programming. MVC architecture is a design pattern that is usually used for developing user interfaces. It rests on the idea of ​​reusing already existing software code, facilitating the development and later maintenance of application software by the method of separation into separate components: model, data display (view) and controller (controller), whereby the information display component is separated from the user's interaction with it information. CRUD stands for create, read, update and delete.

The application consists of three parts:

Admin dashboard

Administrators can create users by entering a user's code, which automatically retrieves the necessary data from the database. When the administrator clicks on the "customer code" field, a modal with the codes of all users appears.When the admin selects the user, the remaining fields are filled. If some of the data is missing in the database, the user can fill it in manually. When a user is created, they receive login credentials via email. The idea was to create users in the fastest possible way and at the same time to reduce the possibility of errors that could occur if administrators manually filled in all the data from clients.

On the initial admin page there are various statistical data (displayed through graphics and tables) that allow admins to easily monitor and control both the operation of the application and the reports that arrive on a daily basis.

Most important:

  • Total number of reports by companies in the current year
  • A graphic showing the number of reports per month for the current and previous year
  • Graphic showing the 10 most common vehicles for transportation
  • Within that graph, the number of reports is also monitored for daily, weekly and monthly periods and compared with previous ones
  • Reports that have not been processed
  • 10 last registered users
  • 10 last logged in users
  • There is a notification system on each page that informs the admin that a new report has arrived

The user opens a new transport request by filling in the data in the user section and sending the request. The request is reviewed by the moderator or admin of the application and if the data is filled in correctly, they accept the request for transportation.

After accepting the data, additional fields are opened for the administrator, who fills them in and sends them to the user who requested the transport. In those fields are the details of the transport, through which the user can send the details of the transport.

With each status change, an email is sent that informs the user, and the user also receives a message in the application through the notification system.

The application also contains an archive containing all sent reports and data sorted by year, which makes it easier for the admin to view all data.

User dashboard

The first page that is displayed to the user after logging in is the page that contains all transport requests from the company to which the user belongs. The user can copy already created transport requests, assign them to himself and change the data in them. A lot of transportation requests are similar or repeated, so this makes it easier for the user to create a new transportation request and reduces the chance of an error.

The user creates a transport request in a specially created html table. The table consists of two parts. In the header, the user fills in information about the type of transportation, while in the footer, the stages of transportation are organized (when the truck should be at the border, at what time loading and unloading are organized). Since the transport can consist of a different number of stages, the user himself adds lines in the footer and fills them with data. In order to make it easier for the user to fill in the table, in the special fields there are modals with different data, which automatically fill the fields in the table.

Most important:

  • Dynamic addition and deletion of lines in the footer
  • Validation that checks if the fields are empty and if they are not, if they are filled in a good format
  • Modals that automatically fill fields with data
  • When requesting transportation, a unique code is automatically generated
  • The possibility to save the report and then edit it before sending it to the administrator
  • Copying an existing transport request and assigning it to yourself

And more

The application offers more options, and these are just some of the most important ones described. As the application is a "living" thing, it is constantly upgraded in cooperation with the company for which it was designed.

Tags: