JavaRush /Blog Java /Random-PL /Piszemy prawdziwy projekt do portfolio - „Projekt Java od...
Roman Beekeeper
Poziom 35

Piszemy prawdziwy projekt do portfolio - „Projekt Java od A do Z”

Opublikowano w grupie Random-PL
Witam wszystkich, przyszłych starszych inżynierów oprogramowania ! Przez ostatnie kilka miesięcy pisałem proste artykuły opisujące ważne elementy rozwoju. Dziś opowiem Wam o moim pomyśle! Chcę Ci pomóc w zdobyciu pierwszej pracy. Co jest do tego potrzebne? Aby to zrobić, musisz zdobyć doświadczenie. Zrozum, na czym polegają te właśnie projekty, nad którymi pracują inżynierowie i popychają świat technologii informatycznych do przodu.

Wszystkie materiały z serii:

„Projekt Java od A do Z”: napisanie prawdziwego projektu do portfolio - 1Jak to zrobić? Muszę coś napisać. Dlatego w ramach tej serii materiałów krok po kroku napiszemy własnego bota telegramowego (szczegóły poniżej). Jednocześnie zrozumiemy stos technologii, którego potrzebuje nawet początkujący programista Java.

Cel

Napisz projekt, który połączy pracę z bazami danych, utworzenie potrzebnej nam logiki biznesowej oraz skonfigurowanie pracy w celu wdrożenia projektu i jego przetestowania. Co będziemy pisać? Jeśli zamierzasz pisać, musisz napisać coś naprawdę przydatnego, aby było zainteresowanie pracą i ktoś mógł skorzystać z wyniku. Na podstawie tych danych zostanie napisany bot telegramowy, który będzie współpracował z witryną JavaRush. Czy to będzie przydatne? Bez wątpienia! Dzięki temu, że pisanie botów telegramowych nie jest tak trudne, można szybko uzyskać działający projekt, który może się przydać.

Czas rozwoju

Artykuły będą publikowane raz w tygodniu, więc będzie wystarczająco dużo czasu na opanowanie/powtórzenie/napisanie pytań, jeśli coś będzie niejasne. Pierwsze artykuły będą stanowić podstawę teoretyczną, którą wykorzystamy w projekcie. A potem to już tylko praktyka.

MVP (minimalnie opłacalny produkt)

„Projekt Java od A do Z”: napisanie prawdziwego projektu do portfolio - 2Co to jest MVP? Termin jak zwykle nie jest nasz, ale rozsądne wyjaśnienie można znaleźć na wiki . Cytujemy: MVP to produkt, który ma minimalne funkcje, ale wystarczające do zaspokojenia pierwszych potrzeb. Głównym zadaniem jest otrzymanie informacji zwrotnej w celu postawienia hipotez dotyczących dalszego rozwoju produktu. Dla nas ten opis pasuje idealnie. Krótki opis wszystkich funkcjonalności: Jako użytkownik Telegramu chcę móc subskrybować nowe artykuły w grupach i otrzymywać powiadomienia o publikacji nowych. Uwielbiam czytać grupę Historia Sukcesu , motywuje mnie to do dalszej nauki i uczenia się czegoś nowego. Jestem leniwy i nie chcę za każdym razem wchodzić i odświeżać strony . Dlatego ja, jako programista, chcę ułatwić sobie życie i napisać program, który wysłałby mi wiadomość na Telegramie, że ukazał się nowy artykuł. Co więcej: nie jest to jedyna grupa, którą śledzę. Pochodzę z Charkowa, więc chętnie czytam artykuły tam publikowane. Jako twórca tego produktu będę bardzo zainteresowany tym, czy ktoś korzysta z mojej pracy, dlatego dodamy funkcjonalność dla administratorów, aby mogli przeglądać statystyki bota telegramu. Czy jest to możliwe? Z pewnością! Jak? To właśnie pokażę w serii artykułów.

Kryptonim

Każdy fajny projekt powinien mieć kryptonim. Nasz nie będzie wyjątkiem, więc na razie będzie tak: JRTB (JavaRush Telegram Bot). Dalej będzie się to tak nazywać.

Jakie tematy będziemy poruszać?

„Projekt Java od A do Z”: napisanie prawdziwego projektu do portfolio - 3

Baza danych

Musisz od razu zrozumieć, że w aplikacji nie można przechowywać stanu (danych i informacji). Dane muszą być przechowywane w bazie danych. Ponieważ na szkoleniu nie ma o tym żadnej informacji (o ile pamiętam :D), postaram się uzupełnić potrzebne nam luki w wiedzy. Postaram się maksymalnie uprościć schemat bazy danych, aby nie było żadnych nieporozumień. Ta część będzie obejmować:
  1. Teoria pracy z SQL w oparciu o MySQL.
  2. Narzędziem do pracy z MySQL jest MySQL Workbench.
  3. Wersjonowanie bazy danych. Flyway i baza płynna.
  4. Tworzenie schematu bazy danych.
  5. Utwórz rysunek schematu bazy danych.

Git

Istnieją już artykuły na ten temat. Oczywiście nic nie będzie działać bez systemu kontroli wersji. Aby rozpocząć pracę nad JRTB, musisz zrozumieć git. Możesz to zrobić sam lub możesz przeczytać moje artykuły na ten temat: Jeśli chcesz, możesz także przeczytać o strategiach rozgałęziania, ale tutaj nie jest to krytyczne i można je pominąć.

Mavena

Porozmawiamy tutaj o systemie montażu, do czego służy, jak będziemy z niego korzystać, na co zwrócić uwagę i zasadach dobrych manier. Porozmawiamy tutaj również o wersjonowaniu i o tym, jak dokładnie to zrobimy.

Doker

Aby uczynić nasze życie prostszym i łatwiejszym oraz maksymalnie uprościć proces wdrażania, będziemy korzystać z Dockera. Aby to zrobić, porozmawiajmy o tym, czym jest Docker i jakie są przydatne polecenia. Od razu chcę powiedzieć, że korzystam z Dockera na poziomie użytkownika i być może czegoś nie wiem lub nie umiem)) Zatem jeśli ktoś zasugeruje jak usprawnić/ułatwić pracę z Dockerem, to będę się tylko z tego cieszył. Ta część będzie obejmować:
  1. Teoria i praktyka Dockera.
  2. Tworzenie kopii zapasowych/przywracanie danych za pomocą okna dokowanego.
  3. Konfigurujemy nasz projekt tak, aby działał w Dockerze.

Skrypty Basha

Aby zautomatyzować pracę, czasami warto napisać jeden lub dwa skrypty. Skrypty Bash to skrypty, które wszyscy programiści rozumieją w takim czy innym stopniu, ponieważ zasadniczo działają w systemie Linux z wiersza poleceń i są po prostu zapisywane w osobnym pliku.

Tworzenie aplikacji

Cały napęd będzie tutaj. Bazując na dotychczasowej wiedzy zbudujemy aplikację Spring Boot, która będzie zawierała obiekt bota telegramu. Co będziemy tutaj robić?
  1. Stworzenie pełnego opisu funkcjonalności, która powinna się tam znaleźć.
  2. Krótki opis tego, czym jest bot telegramowy.
  3. Tworzenie aplikacji Spring Boot.
  4. Opis pracy z Lombokiem.
  5. Opis pracy z UniRest.
  6. Implementacja wzorca Command + praca z tworzeniem własnych adnotacji do poleceń administratora.
  7. Stworzenie klienta do pracy z zapytaniami JavaRush (takimi jak lista grup, lista artykułów w grupie) przy użyciu UniRest.
  8. Testowanie. Napiszmy wszystkie możliwe testy sprawdzające naszą funkcjonalność.
  9. Skonfigurowanie systemu sprawdzania jakości kodu i automatycznego budowania na GitHubie.
  10. Podłączenie bazy danych wraz z wersjonowaniem bazy danych.
Wszystkie te kroki zostaną wykonane krok po kroku, aby lepiej zrozumieć, co się dzieje.

Przyszłe wyniki

W rezultacie otrzymamy realny projekt, który każdy, kto przeczyta artykuły, będzie mógł wdrożyć. Piękno bota telegramowego polega na tym, że możesz połączyć ten projekt z dowolnym botem, aby nie być zależnym od bota, który będzie w artykułach. Powiem więcej: to dopiero początek JRTB. Nowa funkcjonalność może zostać omówiona/dodana w przyszłości. Stwórz tego bota, aby był użyteczny dla wszystkich uczniów projektu JavaRush. A poczucie, że inni ludzie używają i lubią Twoje dzieło, jest wiele warte! A Ty, jako czytelnik tej serii artykułów, będziesz mógł zdobyć prawdziwe doświadczenie pracując nad prawdziwym projektem. Tradycyjnie proponuję subskrybować moje konto na Githubie , w którym zamieszczam rozwiązania i projekty. Cała praca nad JRTB będzie wykonywana za pośrednictwem GitHuba, więc radzę się zarejestrować, jeśli jeszcze tego nie zrobiłeś. Dziękuję wszystkim za przeczytanie, do zobaczenia wkrótce :)„Projekt Java od A do Z”: napisanie prawdziwego projektu do portfolio - 5
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION