{"id":27954620,"url":"https://github.com/jurek-muszynski/pap-ecommerce","last_synced_at":"2026-04-25T23:37:27.355Z","repository":{"id":285224109,"uuid":"898139776","full_name":"jurek-muszynski/pap-ecommerce","owner":"jurek-muszynski","description":"Half-term project assignment as part of the Application Programming class @ Warsaw University of Technology","archived":false,"fork":false,"pushed_at":"2025-03-30T12:03:47.000Z","size":1025,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-07T17:48:13.277Z","etag":null,"topics":["docker","java","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jurek-muszynski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-03T21:26:25.000Z","updated_at":"2025-03-30T12:03:28.000Z","dependencies_parsed_at":"2025-03-30T12:26:00.479Z","dependency_job_id":"0a8e1c0c-6389-4e99-b34e-23f78169bd76","html_url":"https://github.com/jurek-muszynski/pap-ecommerce","commit_stats":null,"previous_names":["jurek-muszynski/pap-ecommerce"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/jurek-muszynski/pap-ecommerce","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurek-muszynski%2Fpap-ecommerce","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurek-muszynski%2Fpap-ecommerce/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurek-muszynski%2Fpap-ecommerce/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurek-muszynski%2Fpap-ecommerce/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jurek-muszynski","download_url":"https://codeload.github.com/jurek-muszynski/pap-ecommerce/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurek-muszynski%2Fpap-ecommerce/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32280981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","java","rest-api"],"created_at":"2025-05-07T17:32:12.377Z","updated_at":"2026-04-25T23:37:27.328Z","avatar_url":"https://github.com/jurek-muszynski.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PAP2024Z-Z22\n\n#### Członkowie Zespołu\n- Jakub Antas \n- Jerzy Muszyński \n- Mateusz Lewko \n- Albert Skutnik \n\n### E-commerce Application :shopping_cart:\n\nGłównym celem tego projektu jest stworzenie aplikacji w stylu sklepu-online, która pozwalałaby użytkownikom na przeglądanie, wybór oraz zakup produktów. System będzie posiadał różne role dla użytkownika (klient, admin), jak i również funkcje wspierające cały proces zakupowy, takie jak koszyk, system płatności, katalog dostępnych produktów, możliwość składania zamówień oraz ich śledzenie.\n\n### Technologie wybrane do pracy nad projektem :tools:\n\n---\n\n1. Graficzny interfejs użytkownika =\\\u003e **Java FX**\n2. Główna logika działania sklepu +Api =\\\u003e **Java Spring Boot**\n3. Baza danych =\\\u003e **PostgreSQL**\n\n### Instrukcja instalacji\n\n---\n\n__Pierwszym__ krokiem który należy wykonać jest sklonowanie repozytorium oraz stworzenie pliku o nazwie `.env` w głównym katalogu projektu. Plik ten odpowiedzialny jest za konfigurację klucza szyfrującego tokeny JWT oraz innych koniecznych zależności jak login i hasło do aplikacji mailowej wysyłającej powiadomienia\n\n```bash\ngit clone https://gitlab-stud.elka.pw.edu.pl/pap2024z-z22/pap2024z-z22.git\ncd pap2024z-z22\n```\n\n```bash\n#.env\nSPRING_DATASOURCE_USERNAME=\u003cDATABASE-USERNAME\u003e\nSPRING_DATASOURCE_PASSWORD=\u003cDATABASE-PASSWORD\u003e\n\nJWT_SECRET_KEY=\u003cSECRET-KEY\u003e\nJWT_EXPIRATION_TIME=\u003cJWT-EXPIRATION-TIME\u003e\n\nSUPPORT_EMAIL=\u003cMAIL-ADDRESS\u003e\nAPP_PASSWORD=\u003cMAIL-APP-PASSWORD\u003e\nMAIL_HOST=\u003cMAIL-HOST\u003e\nMAIL_PORT=\u003cMAIL-PORT\u003e\n```\n\nInstalacje oraz uruchomienie programu obsługuje skrypt `run-ecommerce.sh`, który jest odpowiedzialny za pobranie oraz skonfigurowanie wszystkich koniecznych zależności do uruchomienia aplikacji na kontenerze dockerowym (część backendowa) oraz maszynie lokalnej (frontend). Poszczególne etapy są krótko opisane w samym skrypcie. Aplikacje należy uruchomić w następujący sposób\n\n```bash\nsh run-ecommerce.sh\n```\n\nW przypadku błędów uzyskanych po uruchomieniu skryptu należy przede wszystkim upewnić się że: \n1. nasz system nie konwertuje automatycznie LF -\u003e CRLF przy każdorazowym pobraniu kodu ze zdalnego repozytorium, potencjalnym rozwiązaniem może być zastosowanie komendy  `git config core.autocrlf false`\n2. doszło do poprawnej instalacji dockera oraz docker-compose: `docker --version` i `docker-compose --version`\n\nAlternatywą do uruchomienia aplikacji w kontenerze jest posłużenie się którymś z IDE obsługujących projekty mavenowe, np. Intelij IDEA. Z poziomu takiego środowiska należy oddzielnie uruchomić projekt backendowy znajdujący się w `backend/` oraz frontendowy `frontend/`\n\n### Główne funkcjonalności: :rocket:\n\n---\n\n 1. **Podział na użytkowników i administratorów**\n    * System posiadałby dwie klasy użytkowników z różnym zakresem dostępu do jego usług\n 2. **Rejestracja użytkowników i autoryzacja** =\\\u003e\n    * Rejestracja oraz logowanie przy użyciu hasła/email oraz ewentualnie dodatkowo implementacja mechanizmu SSO\n 3. **Katalog produktów** =\\\u003e\n    * Główny widok z listą produktów z podstawowymi informacjami =\\\u003e zdjęcie, nazwa i cena\n 4. **Wyszukiwarka produktów** =\\\u003e\n    * Pasek wyszukiwania, ułatwiający dostęp do towarów na podstawie ich nazw\n 5. **Filtrowanie/sortowanie produktów** =\\\u003e\n    * Proste filtry katalogu produktów według cen, kategorii, średniej ocen, itd.\n 6. **Szczegóły produktu** =\\\u003e\n    * Oddzielny widok/strona w obrębie aplikacji na szczegółowe dane dotyczące produktu (zdjęcie, opis, recenzje, itd.)\n 7. **Koszyk zakupowy** =\\\u003e\n    * Użytkownik (klient) może dodawać/usuwać/edytować produkty w koszyku\n 8. **Proces składania zamówień** =\\\u003e\n    * Jednoetapowy proces składania zamówień, polegający na podsumowaniu towarów z koszyka i ewentualnym wybraniem adresu dostawy\n 9. **Proces zakupu** =\\\u003e\n    * Potwierdzenie wybranych produktów z koszyka, przekierowanie do transakcji\n    * Ewentualna integracja z zewnętrznym narzędziem do bezpiecznych płatności online, typu PayPal\n10. **Podsumowanie zamówienia** =\\\u003e\n    * Po finalizacji procesu zakupowego, klient zostanie przekierowany do widoku z podsumowaniem produktów i adresu dostawy\n11. **Zarządzanie zamówieniami** =\\\u003e\n    * Każdy klient otrzymałby informacje o statusie swoich zamówień/zakupów, wraz z podsumowaniem i możliwością śledzenia statusu realizacji na bieżąco\n12. **Panel Administratora** =\\\u003e\n    * Oddzielne widoki dla użytkowników-administratorów, dzięki któremu mieliby specjalny dostęp do aplikacji\n13. **Proste zarządzanie stanem magazynowym** =\\\u003e\n    * Administratorzy będą mieli możliwość nadzoru nad produktami/zamówieniami/użytkownikami =\\\u003e zarządzanie systemu na poziomie zapewniania usług klientowi\n14. **Sekcja oceny produktu** =\\\u003e\n    * Użytkownicy będą mieli możliwość oceny danego produktu w skali 1-5\n15. **Sekcja komentarzy pod produktami** =\\\u003e\n    * Każdy klient miałby możliwość dodawania opinii/komentarzy/recenzji do zakupionych przez siebie produktów, co również pozwoliłoby na wyświetlenie średniej oraz łącznej liczby opinii danego przedmiotu\n16. **Edycja profilu użytkownika** =\\\u003e\n    * Każdy klient miałby możliwość uzupełnienia swojego profilu dodatkowymi informacjami poza loginem i hasłem. Dodatkowo mógłby podać swoje zainteresowania/hobby, kategorie produktów, które szczególnie by go interesowały,\n17. **Personalizacje/rekomendacje** =\\\u003e\n    * Na podstawie profilu klienta otrzymywałby on rekomendacje nowych/ciekawych produktów w postaci wiadomości email\n18. **Powiadomienia email** =\\\u003e Powiadomienia email po rejestracji oraz zakupie z potwierdzeniem zamówienia\n19. **Integracja z kalendarzem** =\\\u003e\n    * Możliwość dodania wydarzeń do osobistego kalendarza (google calendar) w postaci przypomnień o przewidywanej dacie dostawy bądź dostępności obecnie brakującego towaru\n20. **Widok \"O nas\" i \"Kontakt\"** =\\\u003e Informacyjne widoki wraz z formularzami kontaktowymi","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjurek-muszynski%2Fpap-ecommerce","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjurek-muszynski%2Fpap-ecommerce","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjurek-muszynski%2Fpap-ecommerce/lists"}