Większość pomysłów, które zaraz Ci przedstawię, możesz zaimplementować jako aplikacja webowa, desktopową lub mobilna, nie ma to żadnego znaczenia. Warto tylko podkreślić, że Twoja aplikacja powinna zostać napisana w odpowiednim framework'u. Jeżeli chcesz zostać programistą aplikacji desktopowych, to stwórz aplikację desktopową w C# w Windows Forms, lub WPF. Jeżeli chcesz zostać programistą aplikacji webowych, to polecam stworzenie aplikacji w C# w ASP.NET MVC lub w ASP.NET Core.
Dodatkowo warto zaimplementować takie funkcjonalności, które już znasz, możesz już wtedy pochwalić się rekruterowi swoimi umiejętnościami. Z drugiej strony, warto też pisać aplikacje, które rozwiną Twoje umiejętności. Jeżeli nie będziesz umiał zaimplementować jakiejś funkcjonalności, to spróbuj doczytać, poszukać informacji w tym temacie i rozwiązać dany problem. Takim sposobem tworząc kolejne aplikacje, czy dodając nowe funkcjonalności, będziesz poznawał nowe dotąd nieznane Ci obszary w danej technologii. Pamiętaj także, żeby zawsze tworząc takie aplikacji trzymać się dobrych praktyk i wzorców programowania.
Pomysły, które teraz przedstawię, chciałbym podzielić na 3 rodzaje.
1. Twoje Hobby
Pierwszy rodzaj to aplikacje, których sam możesz potrzebować, które pomogą Ci w Twojej codziennej pracy. Zautomatyzują jakieś Twoje prace.
Pierwszy pomysł. Tutaj jeszcze nie będzie żadnych konkretów. Zastanów się przez chwilę, czy jest jakaś aplikacja, która może przydać Ci się na co dzień, taka, która rozwiązuje jakieś Twoje codzienne problemy. Pomaga zautomatyzować jakieś twoje prace lub może będzie powiązana właśnie z Twoim hobby. Pisanie takiej aplikacji może być dla Ciebie dodatkową motywacją i na pewno będziesz chętniej wtedy ją rozwijał. Zastanów się na spokojnie, czy jest taka aplikacja. Jeżeli nic Ci tutaj jeszcze nie przychodzi do głowy, to zapraszam Cię do kolejnych już bardziej konkretnych pomysłów.
2. Blog
Drugi rodzaj aplikacje, które możesz tworzyć, to pomysły ogólne, które warto mieć w swoim CV, a przy okazji możesz pochwalić się też swoją wiedzą, znajomością różnych framework'ów.
Możesz spróbować napisać platformę do bloga. Ja sam też pisałem kiedyś platformę pod swojego bloga modestprogrammer.pl, którego używam do dzisiaj. Podstawowe funkcjonalności, jakie może mieć taka aplikacja:
- Możliwość zalogowania przez administratora, który może dodawać nowe artykuły na bloga, a także nimi zarządzać, to znaczy edytować i usuwać.
- Przeglądanie artykułów przez użytkowników.
- Filtrowanie artykułów.
- Paginacja.
- Możliwość dodania tagów, kategorii do każdego artykułu.
- Możliwość dodawania komentarzy do każdego artykułu.
- Formatka z możliwością wysłania e-maila do administratora.
- Obsługa wszystkich błędów i logowanie informacji o ewentualnych błędach w aplikacji, jeżeli się pojawią.
3. Sklep Internetowy
Kolejny pomysł to zwykły sklep internetowy. Tutaj też jest sporo możliwości:
- Warto zrobić jakiś ładny szablon.
- Panel administratora, który pozwala zarządzać całym sklepem.
- Zarządzanie produktami.
- Zarządzanie banerami.
- Koszyk.
- Wysyłanie e-maili.
- Integracja z innymi aplikacjami, np. do wystawiania faktur, wysyłki zamówionego towaru itp.
- Oznaczanie produktów jako promocje.
- Informacje o dostępności produktu.
- Możliwość wybrania odpowiedniej konfiguracji, to znaczy rozmiaru, koloru itp. dla produktów.
- Powiadomienia o zakupie administratora.
- Wyszukiwarka produktów.
4. TODO List
Bardzo popularna aplikacji, czyli zwykła TODO lista, która pozwala zarządzać swoimi zaplanowanymi do wykonania zadaniami. Również tutaj możesz wprowadzać różne funkcje, każda z nich rozwinie Twoje umiejętności. Czyli możesz np.:
- Wyświetlać listę zadań.
- Wyświetlać listę zadań wykonanych.
- Wyświetlać listę zadań po terminie.
- Edycja.
- Dodawanie.
- Usuwanie zadań.
- Oznaczanie zadań jako ukończone.
- Wysyłka e-maili z przypomnieniami.
- Wysyłka e-maili z przypomnieniami.
- Wysyłanie smsów.
- Filtrowanie danych.
- Walidacja danych.
- Obsłużenie widoków na urządzenia mobilne.
- Dodawanie zadań do odpowiednich kategorii.
5. Forum
Kolejny pomysł to zwykłe forum, które już teraz nie są aż tak bardzo popularne, ale stworzenie takiej aplikacji do portfolio może być dobrym pomysłem. Także możesz tutaj stworzyć:
- Zarządzanie użytkownikami (rejestracja, logowanie, profil, prywatne wiadomości, role).
- Panel administracyjny.
- Widok główny, który będzie wyświetlał najpierw odpowiednie działy, a po wejściu do działu wszystkie założone w nim tematy.
- Możliwość dodawania nowych tematów.
- Możliwość odpowiadania na tematy.
- Dodawanie punktów reputacji dla użytkowników, za dobre odpowiedzi.
- Wyszukiwanie tematów, filtrowanie, paginacja.
- Śledzenie wybranych tematów.
- Powiadomienia o nowych postach w tematach.
- Tag'owanie tematów.
- Wyświetlanie użytkowników, którzy są online.
6. Moje Finanse
Zarządzanie swoimi finansami, czy nawet finansami firmy.
- Spis wszystkich zakupów, zarobków.
- Wyświetlanie statystyk, wykresów.
- Podział na kategorię, tak żeby wszystko było bardzo przejrzyste.
- Wyliczanie oszczędności.
- Przypomnienia o różnych płatnościach.
7. Zarządzanie Księgarnią
Kolejny pomysł to Księgarnia. Czyli jakaś prosta aplikacja, którą można używać w księgarni. Tutaj możesz zaimplementować między innymi:
- Możliwość zarządzania klientami.
- Możliwość zarządzania książkami.
- Możliwość przypisywania książek do klientów.
- Walidacja.
- Wysyłanie jakichś przypomnień.
- Może nawet dodanie jakichś opłat, gdy ktoś za długo przetrzymuje książkę.
8. Zarządzanie Fakturami
Kolejny pomysł to aplikacja do zarządzania fakturami, czy nawet jakaś mini księgowość. Możesz zacząć na początek od zwykłej aplikacji tylko do zarządzania fakturami. Tutaj też masz sporo rzeczy do zaimplementowania:
- Logowanie użytkowników.
- Przeglądanie/edycja faktur.
- Tworzenie nowych faktur.
- Tworzenie faktur korygujących.
- Zarządzanie klientami.
- Zarządzanie produktami.
- Oznaczanie zapłaconych faktur.
- Wysyłanie powiadomień dotyczących płatności.
- Filtrowanie, paginacja.
- Walidacja.
9. Portal Internetowy (np. Facebook)
Trzeci rodzaj aplikacji, które możesz tworzyć, to kopie aplikacji, które już istnieją. Tworzenie takich aplikacji ma jedną dużą zaletę. Podczas jej tworzenia, nie musisz na siłę wymyślać nowych funkcjonalności, wystarczy tylko tworzyć wszystko, tak jak już jest w oryginalnej aplikacji, lub po prostu podobnie.
Tutaj wiadomo dobrym przykładem może być np. facebook.
- Logowanie.
- Zarządzanie swoim profilem.
- Dodawanie nowych postów.
- Możliwość dodawania znajomych.
- Obserwowanie postów znajomych.
- Wyświetlanie postów na osi czasu.
- Możliwość dodania like'ów do postu.
- Wyświetlanie profilu użytkowników.
- Wiadomości prywatne.
10. Komunikator (np. Slack)
Dziesiąty pomysł to zwykły komunikator, dzięki którym użytkownicy mogą wymieniać między sobą wiadomości. Coś podobnego do slack'a, mattermost'a, czy kiedyś gadu-gadu. Tak samo tutaj będzie:
- Rejestracja/logowanie użytkowników.
- Ładny interfejs użytkownika do wysyłania wiadomości.
- Dodawanie znajomych.
- Tworzenie nowych pokoi.
- Obsługa wysyłki wiadomości.
- Powiadomienia o nowych wiadomościach.
Bonus
Pamiętaj, że nauka programowania to nie tylko zawsze praca na etacie. Jeżeli masz pomysł na aplikację, to równie dobrze możesz sam zacząć pisać taką aplikację, a później spróbować ją sprzedawać. Jest to droga, którą również polecam uczestnikom mojego szkolenia Zostań Programistą .NET. Chociaż przyznam, że sprzedaż takiej aplikacji również wymaga innych umiejętności, ale to jest temat na inny artykuł.
PODSUMOWANIE
To tyle przykładów aplikacji, które możesz tworzyć na początek. Jeżeli taki temat Cię interesuje, to daj znać w komentarzu, wtedy chętnie podzielę się z Tobą kolejnymi pomysłami.
Jeżeli taki artykuł Ci się spodobał, to koniecznie dołącz do mojej społeczności. Zapisz się na darmowy newsletter, gdzie co tydzień dzielę się wartościowymi materiałami w szczególności dotyczącymi C# i platformy .NET (darmowy zapis – newsletter).
Poprzedni artykuł - 5 Najczęstszych Błędów w Entity Framework Core.
Następny artykuł - 19 Popularnych Błędów w Nauce Programowania.