Skip to content

Czuczen/ChilloutRoom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chillout Room

"Chillout Room" to aplikacja webowa oparta na frameworku ASP.NET Boilerplate w wersji 6.0.0. Boilerplate ten zawiera gotowe rozwiązania dla aplikacji webowych, takie jak autoryzacja, uwierzytelnianie, zarządzanie sesjami oraz wiele innych przydatnych funkcjonalności. W ramach "Chillout Room" użyto narzędzi takich jak ASP.NET MVC 5.x. Dodatkowo, do zarządzania bazą danych wykorzystano Entity Framework, a do tworzenia interaktywnych elementów w interfejsie użytkownika jQuery.

Celem stworzenia aplikacji było zgłębienie technologii .NET oraz zastosowanie jej w praktyce.

Funkcjonalności

Główną funkcjonalnością aplikacji jest gra "Plantacja", która polega na hodowaniu roślin. Został dla niej stworzony panel konfiguracyjny (system CMS). Gra jest podzielona na dzielnice, a każda z nich ma swojego opiekuna, który w panelu konfiguracyjnym w postaci wypełniania formularzy definiuje, co ma się na niej znajdować. Można definiować takie rzeczy jak produkty typu nawóz, gleba, lampa, woda itp. oraz zadania ich wymagania i nagrody.

Poradnik gracza plantacji
Gameplay

Drugą grą jest kółko i krzyżyk. Można grać przeciwko komputerowi na różnych poziomach trudności, a także przeciwko innym graczom.

W aplikacji zastosowano trzy rodzaje testów.
Testy Selenium IDE
Testy struktury - sprawdzają one czy definicje opiekuna dzielnicy są poprawne.
Testy jednostkowe
Testy Selenium IDE i testy jednostkowe zawierają tylko przykładowe testy. Nie testują całej aplikacji.

Technologie

C#
JavaScript
HTML
CSS

ASP.NET MVC 5.x.
Entity Framework
jQuery
Bootstrap
SignalR

Selenium IDE
xUnit
Shouldly

Jak uruchomić aplikację

Visual Studio

  1. W projekcie "CzuczenLand.Web" dodaj plik "settings.config" i uzupełnij go według szablonu:
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="AdminPassword" value=""/>
  </appSettings>
  1. W wartości klucza "AdminPassword" wprowadź swoje hasło dla host admina.
  2. W projekcie "CzuczenLand.Web" dodaj plik "connection.config" i uzupełnij go według szablonu:
  <connectionStrings>
    <add name="Default" connectionString="" providerName="System.Data.SqlClient" />
  </connectionStrings>
  1. W wartości "connectionString=" wprowadź informacje dotyczące połączenia z bazą danych MSSQL.
  2. Kliknij prawym przyciskiem myszy na rozwiązanie w eksploratorze rozwiązań i z rozwijanej listy wybierz "Przywróć pakiety NuGet".
  3. Kliknij prawym przyciskiem myszy na projekt "CzuczenLand.WebApi" i z rozwijanej listy wybierz "Zwolnij projekt".
    Powtórz działanie dla projektów:
    "CzuczenLand.Web"
    "CzuczenLand.EntityFramework"
    "CzuczenLand.Core"
    "CzuczenLand.Application"
    "CzuczenLand.Migrator"
    "CzuczenLand.Tests"
  4. Kliknij prawym przyciskiem myszy na rozwiązanie w eksploratorze rozwiązań i z rozwijanej listy wybierz "Ładuj wszystkie projekty".
  5. Kliknij prawym przyciskiem myszy na projekt "CzuczenLand.Web" i z rozwijanej listy wybierz "Ustaw jako projekt startowy".
  6. Na górnym pasku menu wybierz "Narzędzia", a następnie z rozwijanej listy najedź na "Menedżer pakietów NuGet" i z kolejnej listy wybierz "Konsola menedżera pakietów".
  7. W konsoli menedżera pakietów dla pola "Projekt domyślny" z rozwijanej listy wybierz "CzuczenLand.EntityFramework".
  8. W konsoli menedżera pakietów wpisz komende "Update-Database" i wciśnij Enter.
  9. Uruchom aplikację (Ctrl+F5).

JetBrains Rider

  1. W projekcie "CzuczenLand.Web" dodaj plik "settings.config" i uzupełnij go według szablonu:
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="AdminPassword" value=""/>
  </appSettings>
  1. W wartości klucza "AdminPassword" wprowadź swoje hasło dla host admina.
  2. W projekcie "CzuczenLand.Web" dodaj plik "connection.config" i uzupełnij go według szablonu:
  <connectionStrings>
    <add name="Default" connectionString="" providerName="System.Data.SqlClient" />
  </connectionStrings>
  1. W wartości "connectionString=" wprowadź informacje dotyczące połączenia z bazą danych MSSQL.
  2. W eksploratorze kliknij prawym przyciskiem myszy na projekt "CzuczenLand.EntityFramework", z rozwijanej listy najedź na "EntityFramework" i z kolejnej listy wybierz "Update Database".
  3. W oknie które się wyświetliło, w dolnej sekcji zaznacz "Use connection string".
  4. W polu "Connection string" wprowadź informacje dotyczące połączenia z bazą danych.
  5. W polu "Connection provider" wprowadź wartość "s" i z listy wybierz "System.Data.SqlClient".
  6. Zatwierdź przyciskiem Ok.
  7. W górnym prawym rogu w wyborze konfiguracji zmień wartość "CzuczenLand.Migrator" na "CzuczenLand.Web - IIS Express".
  8. Uruchom aplikację (Ctrl+F5).

Tworzenie dzielnicy (opcjonalnie)

Uwaga! Zaleca się wykonanie tej czynności na serwerze gdyż lokalnie może to zająć sporo czasu.

  1. Zaloguj się do aplikacji na konto host admina wprowadzając w pole "Nick" wartość "admin", a w pole "Hasło" wartość, która została wcześniej ustawiona w pliku "settings.config" w projekcie "CzuczenLand.Web" dla klucza "AdminPassword".
  2. Przejdź do menu "Panel konfiguracyjny".
  3. Kliknij przycisk "Kloner".
  4. W oknie które się wyświetliło, kliknij przycisk "Klonuj" w sekcji "Klonuj z folderu aplikacji".
  5. Po ukończeniu tworzenia dzielnicy w nowej zakładce wyświetlą się informacje o stworzonej dzielnicy i jej opiekunie.
  6. Zapisz dane logowania opiekuna dzielnicy, na przykład w notatniku.
  7. Wróć do zakładki z interfejsem klonowania dzielnic i zamknij go.
  8. Pod nagłówkiem "Wyszukiwanie" z rozwijanej listy wybierz "Dzielnica".
  9. Kliknij "Edytuj" dla rekordu dzielnicy o nazwie "Chillout".
  10. Dla pola "Czy jest zdefiniowana" zmień wartość z "Nie" na "Tak" i zapisz zmianę.
  11. Teraz możesz rozpocząć grę, logując się na konto opiekuna stworzonej dzielnicy lub rejestrując się jako nowy użytkownik. Administrator nie może grać w grę "Plantacja".

Dodatkowe informacje

W aplikacji wykorzystano bazę danych MSSQL, której struktura została przedstawiona tutaj.
W ramach projektu zostało wykorzystane narzędzie do generowania dokumentacji kodu, Doxygen - dokumentacja.