Aplikacja biznesowa – Polimeni
Nie ma drugiego takiego programu na rynku. W końcu aplikacja, którą tutaj prezentuję powstała w oparciu o indywidualne wymagania klienta. Jest to ciekawe narzędzie wspomagające działalność firmy na wielu płaszczyznach. Pełni funkcję bazy danych, pojemnika dokumentów, oraz analityczną.
Co program robi
Najważniejszym zadaniem programu jest przechowywanie oraz zarządzanie danymi. Tych gromadzonych jest w programie całkiem sporo. Są to miedzy innymi: szczegóły dotyczące najemców, marek, umów, lokali, liczników. Przebiega to w bardzo prosty i zunifikowany sposób. Na każdej z kart programu użytkownik widzi rekordy oraz edytor, w którym może zmodyfikować czy też dodać dane. Każdy z przygotowanych edytorów posiada czytelny oraz przejrzysty interfejs, tak aby praca z programem była możliwie prosta. Dodatkowo obok każdej z list jest dostępny filtr, ułatwiający dotarcie do pożądanych danych.
Bardzo przydatną opcją w programie jest możliwość eksportu zgromadzonych danych do arkusza kalkulacyjnego. Dotyczy to niemalże wszystkich zaimplementowanych zestawień danych. Znacznie zwiększa to elastyczność aplikacji. Eksport danych umożliwia sporządzanie zestawień oraz analiz, które nie były przewidziane w trakcie tworzenia programu.
Znaczącą funkcją jest również możliwość dołączania plików do wybranych rekordów. Dzięki temu użytkownicy, z poziomu jednego prostego w obsłudze programu, mają dostęp zarówno do bieżących danych, ale i zaarchiwizowanych dokumentów, skanów umów i innych ważnych materiałów.
Najważniejsza w programie jest jednak możliwość tworzenia różnych raportów oraz dokumentów. Zaimplementowano ich aż osiemnaście. Są to: agreement abstract, lease abstract, tenants statement, analiza zabezpieczeń, aneksy, branże, czynsze, estymacja przychodów, lokale, obroty, parametry umowy, pozostałe opłaty, prognoza czynszu, rozliczenie mediów, zestawienie do faktur, pismo do najemcy, test czynszu obrotowego, test czynszu stałego/skokowego/opłat.
Wysokiej jakości kod źródłowy
Jestem naprawdę dumny z kodu źródłowego, który powstał przy okazji realizacji tego projektu. Niektóre jego elementy to ewolucja już opracowanych przeze mnie w przeszłości bibliotek. Inne natomiast powstały od zera na potrzeby aplikacji. Całość jest jednak możliwie dopracowana. Jak zwykle bywa przy tego typu projekcie, posłużyłem się biblioteką Qt (5.X). Program w pełni integruje się z systemem, a jego kod jest przenośny. Nic nie stoi na przeszkodzie, aby program był używany na Windowsie, Linuksie czy też Mac OS X.
Całkiem nowym rozwiązaniem, które tutaj wdrożyłem jest biblioteka do tworzenia dokumentów mojego autorstwa. Za jej pomocą możliwe jest wczytanie oraz przetworzenie pliku binarnego, który zawiera kompletny zapis raportu/dokumentu. Tym samym możliwe jest dołączenie do programu dokumentu bez jego rekompilacji. Same dokumenty natomiast mogą być tworzone oraz testowane w zewnętrznym edytorze dedykowanym temu zadaniu. Aby zapis dokumentów był możliwe prosty i przyjazny logika oraz szablon zostały od siebie odseparowane. Za pomocą języka JavaScript użytkownik definiuje dane, które są zapisywane w postaci xml-a. To bardzo proste. Rozbudowałem język o dodatkowe komendy, które upraszczają najważniejsze zadania. Za język szablonów odpowiada natomiast XSLT. Dane źródłowe (xml) za jego pomocą są przetwarzane na HTML. To potężne narzędzie. Na każdym poziomie daje użytkownikowi ogromne możliwości. Sam HTML jest renderowany za pomocą mojego własnego silnika! To bardzo ważne, bo żadna z istniejących technologii nie radzi sobie idealnie z drukowaniem dokumentów. W mojej bibliotece było natomiast kluczowe poprawne łamanie tabel pomiędzy stronami z zachowaniem stałych elementów (stopka, nagłówek).
Kolejna ciekawa biblioteka, którą dopracowałem przy okazji tego projektu wspomaga operacje na bazie danych. W jej skład wchodzą proste klasy umożliwiające definiowanie oraz redefiniowanie zapytań za pomocą prostego obiektu (Query Builder). Na tym fundamencie powstał natomiast zaawansowany CRUD, który cechuje się dużą elastycznością. Przy jego pracy możliwe jest wpływanie na niemalże każdy realizowany rodzaj zapytań (czytanie rekordów, działania na bazie danych). Już na starcie wspierane są w nim różne rodzaje relacji (jeden do jednego, wielu do wielu). Użytkownik (programista) przy pracy z tym crudem musi tak naprawdę zbudować tylko UI (za pomocą wbudowanego w Qt designera) i dziedziczyć po mojej klasie.
Najważniejszym elementem stojącym jednak za tym programem, jest schemat bazy danych zaprojektowany na jego potrzeby. Skorzystałem w tym celu z wielu możliwości stojących za systemem bazodanowym MySQL. Program korzysta z wyzwalaczy, kluczy obcych, procedur oraz funkcji składowych (PL/SQL).
Oprogramowanie dla Twojej firmy
W Twojej firmie być może również można wdrożyć oprogramowanie, które ułatwi rożne procesy i wspomoże pracę. Jeśli tak napisz do mnie. Z pewnością pomogę Ci opracować satysfakcjonujące rozwiązanie.
Komentarze
Brak komentarzy. Może dodasz pierwszy?
Chcę dodać komentarz