Moje projekty

Niektóre z projektów wykonanych przez mnie

1. Edytor obrazów

Program służący do zmiany rozmiarów obrazu i szybkiego tworzenia miniaturek wielu obrazów. Działa na zasadzie „przeciąg i upuść”. Przeciągamy plik z obrazem na okienko programu, następnie wpisujemy wymiary nowego obrazka i klikamy zmień rozmiar. Jeśli zaznaczymy opcję  „Zachować oryginał” program zachowa nam kopię oryginalnego obrazka, a zmieniony obraz zapisze pod taką samą nazwą co oryginał z dodatkiem rozmiaru.  Ciekawą opcją jest tworzenie miniaturek. Opiera się także na zmianie wymiarów obrazu na określone w parametrach, jednak  dodatkowo tworzony jest plik z koncówką „_thumb”. Istnieje możliwość przełączenia programu w tryb wielozdjęciowy, gdzie możemy dodawać więcej niż jedno zdjęcie i jednocześnie zmienić rozmiar, bądź utworzyć miniatury wszystkich zdjęć. Cały program przydatny jest do wstawiania grafik na strony www, gdzie nie wymaga się dużej szczegółowości od zdjęć, a tworzenie miniatur jest przydatne przy wstawianiu obrazów z wykorzsytaniem np. Jquery.Osobiście używam tego programu podczas tworzenia artykułów, bądź dodatkowych stron na serwisy internetowe.
Program napisany w C# z wykorzystaniem biblioteki AForge i KryptonToolkit.Zrzuty ekranu:

Program do pobrania stąd:

2. Generator Galerii

Program służy do generowania galerii, które można zamieszczać na stronach www. Wszystkie galerie zawarte na mojej stronie internetowej zostały wygenerowane za pomocą tegoż programu. Galeria zdjęć wykorzystuje gotowy skrypt Jquery, który pozwala na takie, a nie inne zachowanie zdjęc i miniatur. Pliki źródłowe kodu, jak i pliki .css potrzebne do budowania wyglądu galerii są na stałe na serwerze.
Takie rozwiązanie nie zmusza nas do kopiowanie wszystkich plików w momencie tworzenia nowej galerii, a jedynie wystarczy
odwołać się do odpowiedniego katalogu. Katalog określa się podczas tworzenia albumu.Program został napisany specjalnie na mój użytek, dlatego większośc opcji jest dostosowana do mojego konkretnego przypadku zastosowania. Po dodaniu zdjęć i zmianie ustawień można wygenerować gotowy album. Program tworzy odpowiednią strukturę katalogów w folderze który wskażemy.Dodatkowo program:
* automatycznie tworzy miniaturki zdjęć i zapisuje w katalogu „thumbs”
* automatycznie zmienia rozmiar zdjęcia (dopasowanie do mojej www) i zapisuje w katalogu „slides”
* jeśli zaznaczona jest opcja do kopiowania oryginału kopiuje zdjęcia w oryginalnym rozmiarze do katalogu „original”
* jeśli jest kopiowany oryginał, pod zdjęciem w pokazie slajdów dodawany jest link do zdjęcia w oryginalnym rozmiarze
* dodaje stopkę „Copyrights”
* generuje kod html i zapisuje go w pliku „index.html”
* umożliwia dołożenie czarnych linii oddzielających na górze bądź na dole pokazu
* umożliwia dodanie opisu do każdego zdjęcia. Opis jest wyświetlany pod zdjęciem w pokazieProgram wyposażony jest w moduł do prostej edycji zdjęć. Pozwala m.in. na:
* tworzenie ramki wokół zdjęcia w dowolnym kolorze i wielkości
* obracanie zdjęcia
* odbicie lustrzane
* zastosowanie efektu sepii do zdjęcia
* zastosowanie efektu rotate channel do zdjęcia
* rozmycie Gaussowskie zdjęcia
* zmiana zdjęcia na czarno-białe
* zmiana jasności zdjęcia
* zastosowanie artystycznych filtrów: Difference Edge i Sobel Edge
Po wygenerowaniu albumu wystarczy przesłać cały katalog na serwer i już można cieszyć się schludną i funkcjonalną galerią zdjęć.Progam napisany w C#.Zrzuty ekranu:

To do things:
1. Zapis/odczyt z pliku gotowego projektu galerii
2. Zapis/odczyt z pliku ustawień programu
3. Kopiowanie plików z kodem źródłowym jscript
4. Zachowywanie i zmiana kolejności zdjęć
5. Wykrywanie typów plików i odpowiednia konwersja
6. Możliwość ustawiania przez użytkownika rozmiaru zdjęć i miniaturek

Program do pobrania stąd:

3. Hotel

Ze względu na sprzedane prawa autorskie do kodu źródłowego jak i pliku wykonywalnego nie mam możliwości umieszczenia screenów.Program został stworzony jako w pełni funckjonalna aplikacja do zarządzania hotelem/domem wypoczynkowym. System został napisany w taki sposób, aby maksymalnie uprościć użytkownikowi obsługę wszystkich zdarzeń zachodzących w firmach zajmujących się wynajmowaniem pokoi. Użytkownik miał możliwość dodawania pokoi, a dla każdego pokoju określić wyposażenie i cenę za dobę hotelową. Możliwe było prowadzenie rezerwacji pokojów, wyszukiwanie zarówno pokoi jak i klientów wg dużej ilości kryteriów. Po zwolnieniu pokoju, program automatycznie naliczał koszt pobytu i wyświetlał cenę użytkownikowi. Aplikacja nie była wyposażona w moduł wystawiania dokumentów księgowych (FV i paragony), ale miała możliwość drukowania potwierdzeń rezerwacji itd.Program napisany w C#.Niektóre możliwośći programu:

  • Prowadzenie ewidencji klientów
  • Prowadzenie ewidencji pobytów
  • Wprowadzanie pokoi do systemu wraz ze szczegółowymi informacjami o nich
  • Możliwość tworzenia rezerwacji i blokowania pokoju
  • Ewidencja pobytu danego klienta wraz z obliczaniem kosztów pobytu
  • Wyszukiwanie wg bardzo rozbudowanych kryteriów rezerwacji, klientów, pokoi i pobytów

Możliwe rozwinięcie programu:

  • Prowadzenie i wydruk dokumentów księgowych (rachunek, FV, paragon)
  • Wprowadzenie uprawnień dla użytkowników
  • Integracja systemu z aplikacją do rezerwacji Online
  • Budowa systemu Webowego do przeglądania informacji o hotelu, pokojach, a także do rezerwacji i zapłaty zaliczek

4. Allegro Systems

System zarządzający i pomagający w prowadzeniu sprzedaży i zakupów przy wykorzystaniu serwisu Allegro.pl. Składa się z aplikacji dla systemu windows i skryptu webowego PHP działającego na serwerze. Klient ma możliwość prowadzenia ewidencji sprzedawanych aktualnie przedmiotów, dodawanie sprzedaży danego przedmiotu oraz ewidencjonowanie swoich zakupów. System w łatwy sposób daje dostęp do informacji o transakcjach oraz o ich statusie. Program powstał kilka lat temu, dlatego też nie ma bezpośredniego połączenia z bazą danych Allegro.
Podczas tworzenia oprogramowania, dostęp do bazy danych był zbyt kosztowny i dlatego zrezygnowałem z takiego rozwiązania. Każda transakcja zawiera informacje o przedmiocie, kupującym, wybranych opcjach transportu, a także status wpłaty i wysyłki. Program automatycznie  wysyła wiadomości e-mail do użytkowników, jeśli użytkownik np. zaznaczy że otrzymał wpłatę. Treści wiadomości są ustawiane przez użytkownika i możliwa jest ich zmiana w każdym momencie.Wysyłanie maili następuje :

  • Jeśli użytkownik zaznaczy że otrzymał wpłatę
  • Jeśli użytkownik doda nową sprzedaż
  • Jeśli użytkownik zaznaczy że wysłał towar
  • Jeśli użytkownik zaznaczy że wystawił komentarz

Drugą część programu stanowi skrypt Webowy, który na bieżąco wyświetla kupującemu status transakcji. Dane są pobierane bezpośrednio z bazy danych czyli nie ma żadnych opóźniej czasowych od momentu zmiany statusu przez sprzedającego. Kupujący otrzymuje w pierwszym mailu od nas (z informacją o zakupie) link do dynamicznej strony z jego transakcją. Cały system działa na dostępnej z Internetu bazie danych, co sprawia że jesteśmy niezależni od naszego komputera.

Oczywiście program udostępnia wysyłanie maili o dowolnej treści do wskazanych użytkowników.Programu używałem osobiście przez 3 lata kiedy to sprzedawałem dość sporo przedmiotów na allegro i spełniał się w 100%. Jest wygodny w użytkowaniu, a co ważniejsze daje nam  możliwość jasnej ewidencji naszej sprzedaży i naszych zakupów.Nie ma co ukrywać program przez parę lat się zestarzał, może doczeka  się kontynuacji, w której to dodane zostałyby następujące funkcje:

  • Drukowanie adresów na drukach Poczty Polskiej
  • Dodanie form płatności (głównie Płacę z Allegro)
  • Integracja programu z platformą Allegro i automatyczne pobieranie informacji na temat wystawionych aukcji, kupionych przedmiotów, a także płatności i sprzedaży
  • Wykonanie interfejsu webowego do zarządzania sprzedażą poprzez stronę www w celu komunikacji z systemem z całego świata
  • Graficzne dodatki w postaci miniaturek przedmiotów etc.
  • Poprawa oprawy graficznej całego systemu

Apliacja dla Winows została napisana w języku C# z użyciem Microsoft Visual Studio 2005, a skrypt webowy napisany jest w języku PHP.

Zrzuty ekranu:

5. Back Propagation

Program służy do demonstracji i wyliczania wstecznej propagacji błędów. Algorytm wstecznej propagacji – BP określa strategię doboru wag w sieci wielowarstwowej przy wykorzystaniu gradientowych metod optymalizacji. Podczas procesu uczenia sieci dokonuje się prezentacji pewnej ilości zestawów uczących (tzn. wektorów wejściowych oraz odpowiadających im wektorów sygnałów wzorcowych (wyjściowych)). Uczenie polega na takim doborze wag neuronów by w efekcie końcowym błąd popełniany przez sieć był mniejszy od zadanego.Zrzuty ekranu:
Back propagation
Program do pobrania stąd

6. Sieć Hofielda

Program służący do demonstracji działania Sieci Hopfielda.Zrzuty ekranu:
hopfield
Program do pobrania stąd

7. Sieć kohonena

Program służący demonstracji działania sieci Kohonena. W sieci tej mamy do czynienia z uczeniem konkurencyjnym. Oznacza to,że użytkownik ma do dyspozycji jedynie wzorce wejściowe, nie posiada natomiast żadnych wzorców wyjścia. Zadaniem sieci w trakcie procesu uczenia jest wytworzenie takich wzorców. Sieć ma na celu utworzenie takiej struktury, która w najlepszy sposób będzie odwzorowywała zależności w przestrzeni wektorów wejściowych.Zrzuty ekranu:kohonenProgram do pobrania stąd.

8. Przeróbka szablonu Php-Fusion na wersję dla Joomla.

Moja poprzednia strona korzystała z systemu php-fusion, ale ze względu na ilość dodatków i funkcjonalność systemu Joomla, postanowiłem ją przerobić na ten CMS. Aktualny szablon został w całości przerobiony przeze mnie i dostosowany do systemu Joomla. Dodatkowo został użyty projekt PIE, który sztucznie wspiera multibackgrounds w przeglądarkach IE w wersjach niższych od 9.

9. Plugin do systemu Joomla automatycznie generujący galerie zdjęć.

Plugin został napisany w celu automatyzacji generowania galerii w artykułach w systemie Joomla. W treści artykułu należy umieścić nazwę folderu ze zdjęciami pomiędzy znacznikami ustalonymi w konfiguracji programu, np. {znacznik}moj_folder{/znacznik}. Plugin automatycznie stworzy miniaturki wszystkich zdjęć dostępnych w tym folderze, wygeneruje odpowiednią składnie HTML do wyświetlenia galerii oraz skrypt JS, który odpowiada za slideshow. Miniaturki, kod HTML i JS są generowane tylko raz dla danego folderu, a następnie zapisywane na serwerze. Plugin umożliwia także zamieszczanie opisów do zdjęć, które należy umieścić w pliku alt.txt w folderze galerii wpisując w każdej linijce pliku opis jednego zdjęcia – alfabetycznie tak jak nazwy zdjęć. Aby przebudować stworzoną galerię, należy usunąć wszystkie pliki w folderze galerii i wgrać do niego na nowo zdjęcia.

10. Moduł do systemu Joomla wyświetlający linki do aukcji allegro zdefiniowanego użytkownika.

Moduł został napisany w celu wyświetlania w postaci listy odnośników do aktualnych aukcji użytkownika allegro. W celu pobrania aukcji (nazw, linków) został wykorzystany interfejs Allegro API. Z tego względu do działania modułu wymagane jest posiadanie swojego klucza Allegro API i wpisanie go w opcjach modułu.Dodatkowe ustawienia modułu:

  • Nazwa użytkownika którego aukcje mają być pobierane
  • Maksymalna ilość znaków jakie mają być wyświetlane w jednym punkcie
  • Maksymalna ilość odnośników na liście
  • Zdefiniowanie swojego baneru, który jest pokazywany nad listą aukcji. Po kliknięciu na baner użytkownik zostanie przeniesiony na stronę zdefiniowanego użytkownika allegro.

Moduł wykorzystywany jest przeze mnie, na mojej starej stronie internetowej.


11. Program pobierający i wyświetlający raporty z systemu ASIX.

Program został napisany w celu pobierania ustalonych wartości z archiwów system typu scada – ASIX. Program wykorzystując bibliotekę dostarczaną z systemem ASIX pobiera z archiwum odpowiednie dane, obrabia je i sprawdza ich poprawność, a następnie wykonuje 2 z możliwych operacji:

  • Zapisuje do pliku .html gotowy raport dobowy
  • Zapisuje do plików .html raporty dobowe z wybranego okresu czasu

Dodatkowo program pozwala na podgląd i wydruk raportów.

Program jest wykorzystywany w praktyce od ponad 2 lat – bez zarzutów z wielkim powodzeniem


 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *