Skip to content

artysta/cookify

Repository files navigation

Aplikacja Cookify

Aplikacja wykonana na potrzeby przedmiotu Programowanie profesjonalnej aplikacji mobilnej lub webowej w Wyższej Szkole Ekonomii i Informatyki w Krakowie.

Instrukcja

By możliwe było uruchomienie aplikacji konieczne jest:

  • zainstalowanie oprogramowania Visual Studio 2019 (wystarczy wersja community),

  • zainstalowanie Visual Studio 2019 SDK .NET 5.0,

  • zainstalowanie .NET 5 Runtime,

  • zainstalowanie MsSQL Server,

  • sklonowanie repozytorium:

    git clone https://github.com/FilipKotelon/cookify.git
    
  • wpisanie w konsoli narzędzia NuGet Package Manager (po otworzeniu Visual Studio otworzyć ją można klikając Tools -> NuGet Package Manager -> Package Manager Console) polecenia, które utworzy bazę danych:

    update-database
    
  • domyślna nazwa serwera bazy danych to localhost, a nazwa samej bazy danych to Cookify-database. Obie można zmienić edytując DefaultConnection w plliku appsettings.json znajdującym się wewnątrz projektu Cookify.

Aplikację uruchomić można za pośrednictwem Visual Studio.

Jeśli Visual Studio nie jest zainstalowane, aplikację uruchomić można bezpośrednio z lini poleceń z poziomu głównego katalogu projektu po uprzednim utworzeniu bazy danych:

  • utworzenie bazy danych:

    dotnet ef update-database --project ./Cookify.DataAccess/Cookify.DataAccess.csproj
    
  • uruchomienie aplikacji:

    dotnet run --project ./Cookify.Web/Cookify.Web.csproj
    

Analiza SWOT

S - (Strengths) – mocne strony: wszystko to co stanowi atut, przewagę, zaletę:

  • zgrany zespół,
  • doświadczenie jak i pasja do gotowania i pieczenia,
  • znajomość technologii pozwalających na zbudowanie prostej i eleganckiej aplikacji,
  • zapotrzebowanie na pomysły na posiłki,
  • możliwość interakcji z użytkownikami poprzez potencjalne publikowanie dobrze skonstruowanych przepisów.

W - (Weaknesses) – słabe strony: wszystko to co stanowi słabość, barierę, wadę:

  • Wąska grupa docelowa odbiorców
  • Ograniczone możliwości rozwoju aplikacji
  • Duża konkurencja w postaci podobnych aplikacji
  • Konieczna weryfikacja przepisów dodanych przez użytkowników
  • Konieczność posiadania rozbudowanej bazy przepisów na start

O - (Opportunities) – szanse: wszystko to co stwarza szansę korzystnej zmiany:

  • portal dotyczący konkretnej tematyki i związany tylko i wyłącznie z nią (gotowanie, przepisy, porady kulinarne),
  • jedna duża baza przepisów i produktów dostępna dla każdego,
  • zgromadzenie w jednym miejscu pasjonatów gotowania zarówno tych początkujących, jak i bardziej doświadczonych,
  • szansa na stworzenie czegoś na wzór portalu społecznościowego pozwalającego użytkownikom na dzielenie się wszelkiego rodzaju treściami dotyczącymi tematyki kulinarnej.

T - (Threats) – zagrożenia: wszystko to co stwarza niebezpieczeństwo zmiany niekorzystnej:

  • istnienie podobnych aplikacji bądź też stron o podobnej tematyce,
  • możliwość pojawienia się podobnych aplikacji bądź też stron o podobnej tematyce,
  • konkurencja kopiująca pomysły,
  • zmiana potrzeb potencjalnych odbiorców aplikacji,
  • nowe prawa i regulacje,
  • SPAM oraz niechciane reklamy,
  • aktualizacja software’u przeglądarki.

Dokumentacja aplikacji Cookify

1. Karta projektu.

Opis wizji projektu:

  • Cookify to aplikacja przeznaczona dla fanów gotowania i pieczenia. Będzie pozwalać użytkownikom na odkrywanie nowych przepisów, dzielenie się własnymi wykonaniami potraw ze strony, a nawet wysyłanie własnych pomysłów z szansą na ich publikację w naszej aplikacji.

Cel strategiczny projektu:

  • celem strategicznym jest dostarczenie jak najlepszego środowiska dla pasjonatów gotowania i stworzenie społeczności. Aplikacja ma podpowiedzieć pomysł, pokazać jakie składniki są potrzebne, przeprowadzić w sposób zrozumiały przez proces przygotowania posiłku oraz dać możliwość wyrażenia opinii o nim.

Cele projektu:

  • zbudowanie witryny internetowej z przejrzystym i prostym interfejsem,
  • zapewnienie dużej i różnorodnej bazy przepisów,
  • zapewnienie możliwości wymiany opinii na temat dań, sposobów gotowania użytkownikom między sobą, żeby budować dużą społeczność pasjonatów gotowania.

Zakres projektu:

  • opracowanie aplikacji webowej,
  • kampania reklamowa w mediach masowych.

Etapy projektu:

  • opracowanie koncepcji, zatrudnienie niezbędnych osób (2 miesiące),
  • opracowanie aplikacji webowej umożliwiającej dzielenie się przepisami (6 miesięcy),
  • testy przygotowanego rozwiązania (1 miesiąc),
  • publikacja, działania reklamowe,
  • rozbudowa funkcjonalności.

2. Analiza rynku:

  • istnieje spora ilość portali dla miłośników gotowania (gotujmy.pl, mediaknorr.pl, przepisy.pl by wymienić kilka),
  • portale te jednak są wykonane w mizerny sposób, w czym upatrujemy swojej szansy,
  • dla wielu osób pierwszym krokiem przed wykonaniem przepisu jest wyszukanie go w internecie. Przy odpowiednim pozycjonowaniu strony istnieje szansa, że użytkownik wejdzie na naszą aplikacje jako pierwszą,
  • wieczny popyt. Ludzie muszą jeść, a czasem najdzie ich ochota na zrobienie czegoś samemu.

3. Ryzyka:

  • istniejące aplikacje realizujące podobne założenia,
  • powstawanie aplikacji o podobnej tematyce,
  • konkurencja kopiująca pomysły,
  • nowe prawa i regulacje,
  • aktualizacje software`ów przeglądarkowych.

4. Plan realizacji projektu:

  • stworzenie projektu graficznego aplikacji,
  • wybranie technologii najlepszych do wdrożenia strony internetowej,
  • ustalenie struktury bazy danych,
  • rozdzielenie zadań odnośnie kodowania wśród członków projektu,
  • stworzenie struktury bazy danych,
  • kodowanie frontu strony internetowej,
  • testowanie strony,
  • wybranie platformy do wypuszczenia strony internetowej,
  • wypuszczenie aplikacji.

5. Scenariusz przypadków użycia (User Stories):

  • jako użytkownik aplikacji chcę mieć kilka możliwości wyszukiwania przepisów, żeby znaleźć jak najbardziej odpowiedni,
  • jako użytkownik aplikacji chcę mieć dużą bazę przepisów, żeby mieć duży wybór,
  • jako użytkownik aplikacji chcę mieć możliwość zapisu ulubionych przepisów, żebym mógł je szybko i łatwo znaleźć,
  • jako użytkownik aplikacji chcę mieć możliwość wyrażenia opinii, żeby ocenić dany przepis,
  • jako użytkownik aplikacji chcę mieć możliwość planowania posiłków, żeby na tej podstawie generowała się lista potrzebnych składników,
  • jako administrator aplikacji chcę mieć możliwość weryfikacji przepisów dodanych przez użytkownika, żeby mieć pewność, że są odpowiedniej jakości,
  • jako użytkownik aplikacji chcę mieć możliwość podzielenia się własnymi przepisami, żeby inni użytkownicy mogli je wypróbować,
  • jako użytkownik aplikacji chcę prosty i przejrzysty interfejs, żeby obsługa była szybka i intuicyjna,
  • jako administrator aplikacji chcę mieć rozwiązanie premiujące dodawanie nowych przepisów przez użytkowników, żeby ich zachęcić do rozbudowywania bazy przepisów,
  • jako użytkownik aplikacji chcę mieć możliwość zapisu przepisu w aplikacji, żeby mieć możliwość dostępu offline.

6. Przypadki użycia (Use Cases).

Diagram przypadków użycia

7. Diagram tabel bazy danych.

Diagram tabel bazy danych

8. Diagram klas.

Diagram klas

About

Projekt wykonany w ramach przedmiotu Programowanie profesjonalnej aplikacji mobilnej lub webowej.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors