Każdy, kto choć raz zaczął, tworzyć własny projekt wie, że łatwiej zacząć niż go skończyć.
Zdecydowanie jest więcej nieskończonych projektów niż tych zrealizowanych.
Poniżej w punktach przedstawiam, co może pomóc w ukończeniu projektu.
Określ minimalne wymagania
Z grubsza wiesz, co chcesz stworzyć. Zaczynasz pracę nad aplikacją i w pewnym momencie zauważasz, że ciągle coś do niej dodajesz. Bo wpadłeś na nowy fajny pomysł. Problem jest taki, że dodatkowe rzeczy zajmują więcej czasu. Z czasem przychodzi znużenie projektem i zaczynają się pierwsze kroki do porzucenia projektu.
Istnieje takie pojęcie jak: Minimum Viable Product (MVP). W skrócie chodzi o to, że określasz minimalne wymagania dla swojej aplikacji po implementacji, których możesz powiedzieć, że pierwsza wersja jest skończona. Minimalne, czyli wystarczające do swobodnego korzystania z programu.
Kiedy wypuścisz pierwszą wersję projektu, będziesz mieć czas na przemyślenie istniejących funkcjonalności lub dodanie nowych.
Twoim celem jest stworzenie pierwszej wersji programu.
Planuj
Drugim krokiem jest planowanie. To też jest istotne. Masz już wymagania? Teraz rozplanuj, co ma się znaleźć, w aplikacji. Co ma się tam znaleźć?
Na podstawie gotowych wymagań możesz rozplanować poszczególne etapy prac nad aplikacją. Nie muszisz planować wszystkich szczegółów. Chodzi o to, żeby rozrysować ogólny obraz pracy nad projektem.
Stwórz mapę drogową swojego projektu. Działając w taki sposób, można też śledzić postępy.
Regularność
Masz określone wymagania i zaplanowałeś kolejne kroki. Czas zabrać się do pracy.
Na początku zaczniesz z werwą. Ale nie ma, co się oszukiwać motywacja w końcu spadnie. Powinieneś postawić na dyscyplinę.
Konkretnie to powinieneś stworzyć nawyk pracy nad projektem. Pytanie ile masz czasu? Wystarczy nawet 15 minut dziennie, żeby zacząć rozwijać swój projekt. Określ: jak często zamierzasz pracować w tygodniu i ile czasu chcesz na to poświecić.
Oczywiście im więcej czasu na niego poświęcisz, tym szybciej go skończysz. Z drugiej strony nie ma co się zmuszać
I chcielibyśmy pobrać rekordy na podstawie wartości z tablicy tags. Konkretnie to dla pola: tags.value.
Można to zrobić tak:
db.collection.find({"tags.value": "tag1"})
Takie zapytanie pobierze trzy rekordy.
Na podstawie powyższego zapytania możemy pobrać kilka rekordów na podstawie jednej wartości. Jeśli chcemy pobrać dane dla kilku wartości, możemy skorzystać operatora: $in:
Potrzebujemy wiedzieć jaki klucz ma wartość Value2:
const value = 'Value2';
const key = Object.keys(data).find((item) => value === data[item]);
console.log(key); // KEY_2
To rozwiązanie jest dobre przy założeniu, że wartości kluczy obiektu są unikalne. Nawet jeśli nie są, też zadziała, tylko zwróci pierwszy napotkany klucz.
Jedną z motywacji przy tworzeniu własnego projektu jest dla mnie stworzenie aplikacji, którą będę później używać. Zwykle taka aplikacja ma mi pomóc w osiągnięciu jakiegoś celu lub w automatyzacji pracy.
Ktoś może zadać pytanie: "Po co tworzyć coś takiego skoro na pewno istnieje 10 aplikacji, które mogę użyć?" I pewnie jest w tym wiele racji.
Tworzenie aplikacji to nie tylko pisanie kodu. Jest to proces, podczas którego zbieramy wymagania co do naszej aplikacji. Wiedząc, jak aplikacja ma działać i wyglądać możemy przejść do pisania kodu. Warto przejść przez coś takiego od początku do końca. Wiele można się z tego nauczyć.
Dodatkowo mając pełną kontrolę nad aplikacją, możemy stworzyć wszystko pod siebie.
Uczysz się nowych rzeczy
Inną ważną rzeczą przy tworzeniu aplikacji jest na odpowiedzenie sobie na pytanie: "Czego mogę się nauczyć, pracując nad własnym projektem?" Nowy framework/biblioteka? Coś z architektury oprogramowania?
W "normalnej" pracy zwykle czas nas goni, żeby wszystko dostarczyć na czas. W pracy nad własnym projektem czasu mamy znacznie więcej, żeby zastanowić się nad różnymi rozwiązaniami. Nie ma takiej presji.
Pochwal się tym
Skoro stworzyłeś aplikację, warto pokazać ją światu. Na przykład na rozmowie o pracę możesz opowiedzieć, z jakimi problemami borykałeś się i jak je rozwiązałeś. Zawsze to lepiej wygląda niż zwykłe CV.