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 two parts:

Admin dashboard

Administrators can create users by entering a user's code, which automatically retrieves the necessary data from the database. 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.

  • Total shipments by resource for the current year
  • A graphic showing the number of reports per month for the current and previous year
  • Within that graph, the number of reports is also monitored for daily, weekly and monthly periods and compared with previous ones
  • A table showing how many reports have arrived each month and how many more reports users need to send
  • 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
  • Also, the admin receives a notification by email that a new report has arrived

There is a page on the application that shows the sent report in detail. Admins on that page control the reports and, based on the filled-in data, private or reject the sent reports. by changing the notification status, users receive a notification in the admin section through the notification system and also receive a notification message to their email address.

In addition to creating users, admins can change their data, and by changing their status, they can block access to the application.

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.

It is also important to note that the application has developed a section called "projections" that, based on data from the current and previous years, makes projections for each user, especially for the next year, and thus the company can make a business plan in advance.

User dashboard

On the user page, the user has a view of the total sent quantities sorted by resources. On the home page there are all sent reports for the current year. Also, as in the admin section, there is a notification system on each page.

The user fills in the quantities in a specially designed HTML table, through which he sends the quantities to the administrator for verification. Tabale contains several levels of control that reduces errors by the user when filling in data to a minimum.

Most important:

  • The date chosen by the user can only be the first and last day of the month
  • The start date must not be less than the end date
  • The user cannot duplicate the date for sending the report
  • In the table, the user can only enter numbers and a period
  • The user enters quantities in the appropriate fields and the table itself calculates the total amount.
  • A report cannot be sent if the quantities are not correctly added or if the sum is in minus

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: