Wow, ten tydzień minął szybko! Mam wrażenie, że dni mijały szybciej niż zwykle. Minęło już siedem dni od pierwszego miesiąca z dwunastu miesięcy, które spędzę pracując nad dwunastoma projektami. Jak minął ten pierwszy tydzień? Czytaj dalej i dowiedz się.

Zacząłem 1 stycznia od wyzwania, aby przezwyciężyć moje wieczne zwlekanie. Niemożność dokończenia projektu to historia mojego życia, odkąd próbowałam zbudować coś dla siebie. Myślę, że wielu z Was może się z tym utożsamić: wpadacie na pomysł, zapisujecie go, układacie go w głowie i/lub nawet zaczynacie budować i wtedy to do Was dociera. Zwątpienie w siebie, utrata zainteresowania lub inne „lepsze” pomysły. Ukończenie rozpoczętego projektu jest w rzeczywistości trudniejsze, niż się wydaje.

Ale jestem zdeterminowana, aby to zmienić, więc w Nowy Rok zacząłem tworzyć własną stronę internetową, jako mój pierwszy projekt. Chciałem najpierw zacząć od tego projektu, ponieważ chcę korzystać z mojej strony internetowej do końca wyzwania. Chcę wykorzystać moją stronę internetową jako wizytówkę projektów, które wykonuję i które wykonałem. Chcę także używać tej witryny do hostowania moich postów na blogu. Mam nadzieję, że to będzie mój ostatni post na Medium.

Dzień 1:

Przyjrzyjmy się zatem postępom, jakie poczyniłem w ciągu ostatniego tygodnia. Jak już mówiłem, zacząłem 1 stycznia. Moim normalnym zachowaniem byłoby natychmiastowe rozpoczęcie programowania, ale ponieważ tworzę to wszystko publicznie, pomyślałem, że będzie lepiej, jeśli upewnię się, że wszystko jest skonfigurowane. Odkurzyłem Twittera, stworzyłem baner za pomocą blackmagic.so i wysłałem już kilka tweetów. Następnie zaktualizowałem narzędzia, które będą mi potrzebne do projektu:

  • Zaktualizowano Visual Studio 2019 do 2022
  • Zaktualizowano Pszczelarza
  • Uaktualniony kod Visual Studio

Potem czas, który mogłem spędzić tego dnia, prawie minął, więc szybko usunąłem wszystkie pliki z katalogu głównego mojej domeny. Na serwerze dostawcy usług hostingowych znajdowały się pozostałości po poprzednich próbach stworzenia mojej osobistej strony internetowej.

Dzień 2:

W niedzielę 2 stycznia miałam trochę czasu, kiedy moja córeczka spała, więc usiadłam przy biurku i pracowałam nad planem pierwszego projektu. Biorąc pod uwagę ograniczony czas wynoszący zaledwie jeden miesiąc, istotne jest posiadanie jasnego planu. Jasny plan zapobiega także zbyt dużemu rozproszeniu wszystkich rzeczy, które chcesz zrobić. Perfekcjonizm jest wrogiem postępu, ale jeśli chodzi o moją osobistą stronę internetową, trudno mi zablokować w głowie te perfekcjonistyczne myśli. Przejrzysty plan, opis MVP bardzo mi pomogły w ustaleniu, nad czym mam się rozwijać, a co odłożyć na później.

Dodałem kilka rzeczy do zrobienia w Trello, oznaczając je etykietą dla każdego aspektu projektu. Nadal nie jestem pewien, czy będę to dalej robił, ale na razie to początek. Całe to wyzwanie będzie procesem uczenia się w każdym aspekcie tworzenia produktu. Technologia, projektowanie, zarządzanie projektami, marketing i sprzedaż – myślę, że wciąż mogę się wiele nauczyć we wszystkich tych aspektach.

Zacząłem od strony technologicznej, stworzyłem repozytorium GitHub i stworzyłem nowy projekt aplikacji internetowej. Ten nieszablonowy projekt umożliwi mi szybkie złożenie czegoś w całość.

Dzień 3:

Dostałem radę dotyczącą używania Notion w odpowiedzi na Twitterze, ponieważ jestem tak ciekawy, że musiałem to sprawdzić. Sam nie robiłem zbyt wielu projektów i w trakcie pracy na pełen etat nie współpracuję z Notionem, więc było to dla mnie zupełnie nowe. Cóż mogę powiedzieć, byłem trochę przytłoczony możliwościami i nie do końca rozumiałem, jak to wszystko działa. I wtedy mnie uderzyło: dlaczego na to patrzę? Muszę zbudować swoją stronę internetową w ciągu miesiąca, naprawdę nie mam czasu, aby to sprawdzić. Przynajmniej nie w tej chwili. Kiedy jestem bardziej zajęty opracowywaniem i kończeniem projektów, być może będę chciał poświęcić więcej czasu na odkrywanie innych narzędzi. Na razie korzystam tylko ze znanych mi narzędzi. Nawet jeśli jest to tylko plik na Dysku Google i Trello, na razie jest to w porządku.

Po moich badaniach spędziłem czas na składaniu architektury projektu. Chciałem zastosować architekturę opartą na czystej architekturze stworzonej przez „Jasona Taylora”. Skonfigurowałem kilka pierwszych modeli jednostek i podłączyłem rozwiązanie do bazy danych MySql.

Dzień 4:

Dziś był mój pierwszy dzień w nowej pracy na pełny etat, więc nie miałam zbyt wiele czasu na pracę nad swoją stroną internetową. Mnóstwo informacji, mnóstwo nowych ludzi, mnóstwo spotkań i przywitań, więc pod koniec dnia byłem dość wyczerpany. Ale starałem się wycisnąć trochę pracy, żeby przynajmniej osiągnąć jakiś postęp.

Jedyną pracą, jaką wykonałem, była praca nad jednostkami bazy danych. Ale natknąłem się na coś innego. Korzystając z czystej architektury natknąłem się na MediatR, o którym słyszałem wcześniej, ale nigdy wcześniej nie korzystałem. Chciałem obejrzeć to następnego dnia, ale po nocnym spacerze z psem zdecydowałem, że rzucę wszystko i następnego dnia zacznę od nowa. Musiałem zachować prostotę, nikt nie przejmuje się infrastrukturą produktu, a już na pewno nie moją własną stroną internetową.

Dzień 5:

W środy moja żona nie musi iść do pracy, więc jedyne, co muszę zrobić rano, to dać mojej córeczce butelkę i wyprowadzić psa. Potem mam około 1,5 godziny czasu na pracę nad projektem. Jak powiedziałem, dzień wcześniej postanowiłem rzucić wszystko i zacząć od nowa. Przewiń do przodu o 1,5 godziny i zrobiłem większy postęp niż przez poprzednie cztery dni. Dotarło do mnie, że muszę zachować prostotę. Nikt nie dba o infrastrukturę, więc nie ma nic złego w złożeniu tego wszystkiego w jeden monolityczny projekt.

Więc usunąłem wszystko, co zrobiłem przez ostatnie kilka dni i zacząłem od nowa. Dodawanie modeli baz danych, modeli widoków, kontrolerów i stron. Utworzono kontekst bazy danych i podłączono projekt do bazy danych MySql. Udało mi się nawet trochę popracować nad projektem.

Czasami najlepiej jest zachować prostotę. Wykorzystaj to, co wiesz, zbuduj minimum, którego potrzebujesz, nie komplikuj nadmiernie. Uważam, że czasami łatwiej powiedzieć, niż zrobić, ale podobnie jak w przypadku wszystkich innych rzeczy, będzie to również proces uczenia się.

Dzień 6:

Czwartki są pracowitym dniem, muszę zaprowadzić dziecko do przedszkola, więc mam mniej czasu na pracę przed rozpoczęciem dnia pracy. Pracowałem trochę więcej nad modelami baz danych, upewniłem się, że istnieje użytkownik administracyjny i uniemożliwiłem odwiedzającym odgadnięcie strony rejestracji. Rejestracja użytkowników jest możliwa przy użyciu gotowej aplikacji internetowej z platformą tożsamości. Ponieważ jestem jedynym użytkownikiem mojej witryny, chciałem mieć możliwość logowania bez możliwości rejestracji. To był najszybszy sposób osiągnięcia tego celu, więc na razie jest to najlepsza opcja.

Pracowałem także nad modelem bazowym dla stron, z których korzystają odwiedzający. Ten model podstawowy zawiera wszystko, czego może użyć każda strona, i gwarantuje, że w razie potrzeby będę mógł przekazać dane do widoku układu. Wybrałem Bootstrap jako framework do zaprojektowania mojej witryny, ponieważ korzystałem już z Bootstrapa i rozumiem go lepiej niż Tailwind. Wprowadziłem pewne ulepszenia w podstawowym szablonie, zmieniając nagłówek i stopkę strony, aby odzwierciedlić strony, które będę dodawał do witryny.

Dzień 7:

Ten dzień poświęcony był zaprojektowaniu strony głównej. Muszę przyznać, że jestem dość dumny z tego, co tam stworzyłem, ponieważ zawsze mam problemy z projektowaniem. Tym razem miałam już jasne przemyślenia jak chcę żeby to wyglądało, co ułatwiło mi złożenie czegoś w całość. Spędziłem nad tym około 1,5 godziny, w tym około 20 minut, zastanawiając się, dlaczego ml-auto nie wyrównało moich elementów nawigacyjnych w prawo. Jak się okazało, było to spowodowane tym, że byłem przyzwyczajony do Bootstrap 4, ale teraz używam Bootstrap 5, więc jest to ms-auto. Czasami jesteś tak skupiony na szukaniu błędu, że nadzorujesz te rzeczy. Wyciągnięte wnioski, Google jest Twoim przyjacielem (a StackOverflow Twoim najlepszym przyjacielem).

Tak minął pierwszy tydzień i jestem całkiem zadowolony z postępów, jakie zrobiłem. W ten weekend popracuję trochę nad projektem strony głównej i stron bloga i postaram się wygospodarować trochę czasu na pracę nad stroną administracyjną, abym mógł zacząć dodawać posty na blogu.

Obecność w Internecie:

Na końcu każdego cotygodniowego wpisu na blogu chcę zastanowić się nad rozwojem mojej obecności w Internecie. Zaczynając od 24 obserwujących na Twitterze, z których wielu to znajomi, którzy w ogóle nie korzystają z Twittera, obecnie mam 78 obserwujących, co oznacza wzrost o 54. Jestem pewien, że z biegiem czasu sytuacja się poprawi, ale na razie zadowolony z postępów. Wspaniale jest znaleźć niezależnych hakerów o podobnych poglądach, pracujących nad podobnymi projektami.

„Mój pierwszy post na IndieHackers” uzyskał 53 głosy pozytywne, 81 komentarzy (z czego około połowa pochodziła z moich odpowiedzi innym) i aż 2500 wyświetleń. Nie wiem, czy to dużo, ale na pewno więcej, niż się spodziewałem. Jestem absolutnie wniebowzięty tym wynikiem. W wyniku tego postu zyskałem także 25 obserwujących na IndieHackers.

„Post na Medium” potrzebował trochę więcej czasu, aby zyskać popularność, ale w tej chwili uzyskał 419 wyświetleń. Większość czytelników pochodziła z IndieHackers, ale także z samego Medium, co jest świetne. Artykuł otrzymał 35 oklasków, czyli więcej pod względem stosunku czytelników/klakierów/poparcia niż na IndieHackers.

Ogólnie jestem absolutnie zadowolony z tego, jak wypadł mój pierwszy post. Nie było łatwo wystawić się na tor, ale już czuję, że jestem dziś bardziej pewny siebie niż zaledwie siedem dni temu.

Dziękuję wszystkim za przeczytanie, pamiętajcie o śledzeniu mnie na Twitterze. Daj mi znać w komentarzach, co myślisz o mnie, moim projekcie, moim pisaniu. Każda opinia jest dla mnie bardzo cenna!