Skip to content
Home » Blog » Pelikan application

Pelikan application

Introduction

After a long break, I add another project I wrote to the page. This time it is a lightweight application for managing orders, which is not only a project written for myself, but also fulfills an important function in one of the companies near Warsaw with which I am professionally associated. I invite you to read.

The application was created in connection with the need to organize order management in a production and service company. The assumption was to create a common database of orders for the company's employees so that they always work with up-to-date data and do not have to duplicate them in many places. In addition, the application was to enable a quick search for data of active orders as well as archival ones, e.g. in terms of archival product prices.

Due to the low complexity of the project and the ease of management, I decided to write a web application using the CodeIgniter framework 4.

The application consists of several main modules:

  • Contrahents
  • Orders
  • Zlecone wyroby
  • Finances
  • Settings

Settings

Due to the fact that the application will be used by different people in the enterprise with different authorizations, an access control system has been implemented based on the filter mechanism available within the framework.

System permission management panel

After creating the user and giving him the appropriate privileges, create a password to the system, which the user sets himself during the first login. If the password is forgotten, the system administrator can reset the application password and the user will be able to perform the procedure from the beginning.

Password setting form

The application allows you to register orders in various currencies, which the system administrator defines at the beginning of work and can later freely modify, as well as change currency rates, which will translate into values converted into the base currency, which is PLN. It is important that when an order is archived, the value of the exchange rate that was currently set in the system is also recorded in its record.

Contrahents

The application allows you to manage contractors by adding them, editing and displaying data on currently completed and archived orders.

Contractors main view

After clicking on the counterparty's alias, the system returns basic information about the counterparty as well as a list of all his orders. This list can be searched by any value in the table by using the search field and sorted by any column.

Contractor details

Orders

This module contains information about all orders and has been divided into two subcategories: active orders and archived orders. The main view displays a list of orders and it is also possible to search by any value in the table and sort by any column.

The main view of the order table

From the table level, you can easily go to the details of the contractor who ordered a given order and view the details of the order, such as:

  • Ordered Items
  • Contracted products,
  • Attached files,
  • The possibility of generating an order confirmation for copying, e.g. to an e-mail in Polish and English.
Order detail view
View of the generated e-mail confirmation of the order

Wspomniany wcześniej system kontroli dostępu umożliwia zablokowanie wybranym użytkownikom możliwości edycji, usuwania i dodawania zleceń czy oddzielnie zablokować nawet ich podglądanie. Cenną funkcją jet możliwość podpinania pod zlecenie np papierowych czy podpisanych przez kontrahentów zleceń z dodatkowymi adnotacjami czy korektami naniesionymi w trakcie realizacji zlecenia. System na potrzeby przedsiębiorstwa został skonfigurowany tak aby można było podpinać tylko pliki z rozszerzeniami .pdf, .jpg. .png czy .tiff oraz o rozmiarze nie przekraczającym 5 MB.

Ordered Items

A separate large module is the module of ordered products. It includes the possibility of assigning specific items from the order to orders, as well as, importantly, tracking the current status of the product. For each item, it is also possible to set an individual discount on the base price, as well as set a separate deadline or individual notes.

Form view

The management team wanted to be able to quickly determine at which stage of production a given product is. For this purpose, the manufacturing process has been divided into several stages:

  • Acceptance for implementation (before technological development)
  • Technologically developed (before production starts)
  • In production
  • Completed (delivery notes sent or completed)

Next to each position in the order or in the collective table with positions from multiple orders, there is an options field that allows you to change the status of the position in the order. The technology department has the right to develop technology, the production department has the start of production, and the shipping department has the option of marking the item as completed. For each stage, it is possible to add a note or annotation, which can be displayed by entering the details of each item. In addition, the system displays who and when made the last change at each stage of production.

Information panel about the ordered product

When all items of the order are completed, i.e. the number of products shipped is at least as large as the number of products ordered, then the order can be archived. An archived order can no longer be edited or deleted in any way.

Finances

This module includes a simple functionality that allows you to view the total values of orders grouped by contractor in a selected period of time. There are 3 predefined periods as well as the ability to set your own date range.

Financial summary view

Some technical ingormations

The application is based on the CodeIgniter 4 framework and additionally uses such solutions as Bootstrap, chart.js or datatable.net. The application does not need an Internet connection to work properly, so it can be installed on a local server and made available on the local network, which increases the security of data stored in the system.

UPDATE 1

The application is based on the CodeIgniter 4 framework and additionally uses such solutions as Bootstrap, chart.js or datatable.net. The application does not need an Internet connection to work properly, so it can be installed on a local server and made available on the local network, which increases the security of data stored in the system.

Adding notes to orders

For the purposes of better information flow, any user can add notes to the order and delete only their previously added notes.

notatki-zrzut
Remodeled order view with the option of adding notes

Multiwyszukiwarka

In order to move around the data faster, a search engine has been implemented, which searches the database in terms of orders, positions in orders and contractors. The search engine is available from anywhere in the system from the sidepanel area.

wyszukiwarka-zrzut
Multiwyszukiwarka

Finance versus time graph

A chart of the planned sales plan has been added based on the data entered under the orders.

wykres finanse-zrzut
Finance versus time graph

Improving the interface

In order to improve the aesthetics of the application, as well as usability, several changes were made to the appearance of the interface.

Report on the current status of the order

On the basis of all the data entered as part of the order, as well as the items from the orders, a simple report is generated, which can be easily saved to a PDF file or printed.

W celu świadczenia usług na najwyższym poziomie stosuję pliki cookies, które będą zamieszczane w Państwa urządzeniu (komputerze, laptopie, smartfonie). W każdym momencie mogą Państwo dokonać zmiany ustawień Państwa przeglądarki internetowej i wyłączyć opcję zapisu plików cookies. Ze szczegółowymi informacjami dotyczącymi cookies na tej stronie można się zapoznać tutaj: View more
Cookies settings
Akceptuj
Blokuj
Privacy policy
Privacy & Cookies policy
Cookie name Active

The privacy policy describes the rules for the processing of information about you, including personal data and cookies, i.e. cookies.


1. General information

  1. This policy applies to the website operating at the url address: www.wojciechsiwek.pl
  2. The website operator and the personal data administrator is: Wojciech Siwek
  3. The operator's e-mail contact address: wojciech.siwek.programista@gmail.com
  4. The operator is the Administrator of your personal data in relation to the data provided voluntarily on the Website.
  5. The website uses personal data for the following purposes:
    • Running a comment system
    • Handling inquiries via the form
  6. The website obtains information about users and their behavior in the following way:
    1. Through data entered voluntarily in forms, which are entered into the Operator's systems.
    2. By saving cookie files in end devices (so-called "cookies").

2. Selected data protection methods used by the Operator

  1. The places of logging in and entering personal data are protected in the transmission layer (SSL certificate). As a result, personal data and login data entered on the website are encrypted on the user's computer and can only be read on the target server.
  2. User passwords are stored in a hashed form. The hash function works in one direction - it is not possible to reverse its operation, which is now a modern standard in the field of storing user passwords.
  3. The operator periodically changes his administrative passwords.
  4. In order to protect data, the Operator regularly makes backup copies.
  5. In order to protect data, an essential element of data protection is regular updating of all software used by the Operator to process personal data, which in particular means regular updates of programming components. The Operator regularly makes backup copies.

3. Hosting

  1. The website is hosted (technically maintained) on the operator's server: NETMARK.

4. Your rights and additional information on how to use the data

  1. In some situations, the Administrator has the right to transfer your personal data to other recipients if it is necessary to perform the contract concluded with you or to fulfill the obligations incumbent on the Administrator. This applies to such groups of recipients:
    • postal operators
    • comment system operators
    • authorized employees and associates who use the data to achieve the purpose of the website
  2. Your personal data processed by the Administrator for no longer than it is necessary to perform the related activities specified in separate regulations (e.g. on accounting). With regard to marketing data, the data will not be processed for more than 3 years.
  3. You have the right to request from the Administrator:
    • access to your personal data,
    • rectifying them,
    • deletion,
    • processing restrictions,
    • and data portability.
  4. You have the right to object to the processing indicated in point 3.3 c) to the processing of personal data in order to perform the legitimate interests pursued by the Administrator, including profiling, while the right to object may not be exercised if there are valid legally justified grounds for processing of your interests, rights and freedoms, in particular establishing, investigating or defending claims.
  5. The Administrator's actions may be appealed against to the President of the Personal Data Protection Office, ul. Stawki 2, 00-193 Warsaw.
  6. Providing personal data is voluntary, but necessary to operate the Website.
  7. In relation to you, actions may be taken consisting in automated decision making, including profiling to provide services under the concluded contract and for the purpose of conducting direct marketing by the Administrator.
  8. Personal data is not transferred from third countries within the meaning of the provisions on the protection of personal data. This means that we do not send them outside the European Union.

5. Information in the forms

  1. Serwis zbiera informacje podane dobrowolnie przez użytkownika, w tym dane osobowe, o ile zostaną one podane.
  2. The website may save information about connection parameters (time stamp, IP address).
  3. The website, in some cases, may save information facilitating the linking of data in the form with the e-mail address of the user filling in the form. In this case, the user's e-mail address appears inside the url of the page containing the form.
  4. The data provided in the form is processed for the purpose resulting from the function of a specific form, eg to process the service request or commercial contact, service registration, etc. Each time the context and description of the form clearly informs what it is used for.

6. Administrator logs

  1. Information on the behavior of users on the website may be subject to logging. These data are used to administer the website.

7. Relevant marketing techniques

  1. The operator uses statistical analysis of website traffic through Google Analytics (Google Inc. based in the USA). The operator does not provide personal data to the operator of this service, but only anonymised information. The service is based on the use of cookies on the user's end device. In terms of information about user preferences collected by the Google advertising network, the user can view and edit information derived from cookies using the tool: https://www.google.com/ads/preferences/

8. Information about cookies

  1. The website uses cookies.
  2. Cookie files (so-called "cookies") are IT data, in particular text files, which are stored on the Website User's end device and are intended for using the Website's pages. Cookies usually contain the name of the website they come from, the storage time on the end device and a unique number.
  3. The entity that places cookies on the Website User's end device and obtains access to them is the Website operator.
  4. Cookies are used for the following purposes:
    1. maintaining the Website user's session (after logging in), thanks to which the user does not have to re-enter the login and password on each subpage of the Website;
    2. achieving the goals set out above in the section "Important marketing techniques";
  5. The Website uses two basic types of cookies: session cookies and persistent cookies. Session cookies are temporary files that are stored on the User's end device until logging out, leaving the website or turning off the software (web browser). Persistent cookies are stored on the User's end device for the time specified in the cookie file parameters or until they are deleted by the User.
  6. Software for browsing websites (web browser) usually allows cookies to be stored on the User's end device by default. Website Users can change the settings in this regard. The web browser allows you to delete cookies. It is also possible to automatically block cookies.Detailed information on this subject can be found in the help or documentation of the web browser.
  7. Restrictions on the use of cookies may affect some of the functionalities available on the Website pages.
  8. Cookies placed on the Website User's end device may also be used by entities cooperating with the Website operator, in particular the following companies: Google (Google Inc. based in the USA), Facebook (Facebook Inc. based in the USA), Twitter (Twitter Inc. based in the USA).

9. Managing cookies - how to express and withdraw consent in practice?

  1. If the user does not want to receive cookies, he may change the browser settings. We reserve that disabling cookies necessary for authentication processes, security, maintaining user preferences may make it difficult, and in extreme cases may prevent the use of websites.
  2. In order to manage cookie settings, select the web browser you use from the list below and follow the instructions:
Save settings
Cookies settings