Giter Site home page Giter Site logo

snowdog-academy-v2's Introduction

ENGLISH VERSION

Snowdog Academy - zadanie rekrutacyjne

Zadanie rekrutacyjne polega na rozbudowaniu funkcjonalności aplikacji służącej do kupowania kryptowalut. W aktualnej wersji zarejestrowani użytkownicy mogą wyświetlać listę dostępnych kryptowalut.

Uruchomienie aplikacji

Aplikację można uruchomić bezpośrednio na hoście lub z wykorzystaniem Dockera.

Docker

Należy utworzyć plik .env w głównym katalogu (na bazie .env.example).

Z głównego folderu aplikacji uruchomić:

docker-compose up -d

Zostanie utworzony kontener z aplikacją oraz bazą danych. Następnie należy zainstalować wymagane biblioteki:

docker exec -it snowdog-academy_php_1 sh -c 'composer install'

Aplikacja będzie dostępna pod adresem http://127.0.0.1:8000.

Aby usunąć utworzone kontenery należy wykonać komendę:

docker-compose down

Host

Wymagania:

W folderze głównym uruchomić komendę instalującą wymagane zależności:

composer install

Następnie należy uruchomić wbudowany w PHP serwer:

php -S 0.0.0.0:8000 -t web/

Aplikacja dostępna będzie pod adresem http://127.0.0.1:8000.

Stworzenie struktury bazy danych

Konfiguracja bazy danych znajduje się w pliku config.ini - można go utworzyć na podstawie pliku config.ini.example oraz wypełnić odpowiednimi danymi.

Po pierwszym uruchomieniu aplikacji należy wykonać skrypt, który utworzy niezbędne tabele w bazie danych oraz doda do nich kilka testowych pozycji.

Dla środowiska opartego o Dockera:

docker exec -it snowdog-academy_php_1 sh -c 'php console.php migrate_db'

Dla środowiska utworzonego na hoście (uruchamiane z głównego folderu aplikacji):

php console.php migrate_db

Zadania

Zadanie 0

Zrób forka tego repozytorium i wszystkie commity wysyłaj do niego. Każde zadanie powinno być osobnym, odpowiednio opisanym commitem.

Zadanie 1

Dodaj możliwość kupowania wybranej kryptowaluty.

Zadanie 2

Dodaj możliwość sprzedawania posiadanej kryptowaluty.

Zadanie 3

Dodaj pobieranie aktualnych cen kryptowalut z API CoinCap, CoinGecko lub innego wybranego przez Ciebie za pomocą komendy php console.php update_prices. W przypadku tych dwóch propozycji kolumna id w tabeli cryptocurrencies wskazuje na ID waluty w tych systemach.

Zadanie 4

Dodaj nową pozycję w menu o nazwie Add Funds. Po wejściu w nią powinien wyświetlić się prosty formularz pozwalający na dodanie środków do konta (jedno pole na kwotę oraz przycisk wysłania formularza).

Uwagi

Jeżeli uważasz, że kod aplikacji wymaga refaktoryzacji, że coś można napisać lepiej lub wydajniej niż jest to zrobione teraz - możesz to zrobić. Na pewno wpłynie to pozytywnie na wyniki rekrutacji.

snowdog-academy-v2's People

Contributors

arkenidar avatar tm18 avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.