Branża IT jest jedną z tych w których najszybciej widać trendy zmieniającego się świata. Nie wiemy jeszcze, czy kryptowaluty i zdecentralizowana sieć, to już początek, czy dopiero zapowiedź kolejnej rewolucji, ale w branży już od kilku lat powstają startupy związane z tzw. Web 3.0. Nie inaczej jest na naszym kursie, gdzie kursanci Bootcampu C#/.NET od infoShare Academy postanowili zrobić aplikację do sprawdzania kursów kryptowalut.
Skład zespołu
Aby lepiej zrozumieć, czym są kryptowaluty i jaką wartość przynosi aplikacja zespołu, warto najpierw zgłębić historię internetu. Od powstania internetu minęło już kilkadziesiąt lat. Obecnie prawie każdy posiada w swojej kieszeni urządzenie podłączone do sieci. Fazy rozwoju internetu można podzielić na 3 etapy:
Web 1.0
Internet od początku swojego istnienia mocno ewoluował. Wszystko rozpoczęło się od prostych połączeń i przesyłania danych. Następnie od lat 1989-2005 nastąpiła pierwsza rewolucja internetu: Web 1.0. W tych latach większość stron internetowych opierała się na statycznych stronach, nieoferujących wiele interakcji z użytkownikami. Internet w czasach Web 1.0 głównie się oglądało. Statyczne strony idealnie nadawały się do przekazywania informacji, ale nie oferowały użytkownikom możliwości zbyt dużej możliwości wchodzenia w interakcję.
Web 2.0
Od 2005 roku rozpoczęła się era Web 2.0. Strony internetowe były dynamiczne i oferowały możliwość interakcji z użytkownikami. Coraz powszechniejsze stało się wykorzystywanie video. Powstały takie serwisy jak YouTube czy Facebook. Nastał czas social mediów i to użytkownicy zaczęli tworzyć treści, a nie jak w przypadku Web 1.0 – administratorzy stron internetowych. Strony stały się potężniejsze, a technologia pozwala na tworzenie prawdziwych aplikacji w przeglądarce. Nikogo też nie dziwi gra w którą można grać na stronie internetowej. Masowe stało się zbieranie i wykorzystywanie zebranych w internecie danych.
Web 3.0
Mamy końcówkę roku 2021 i coraz więcej się mówi, że właśnie rozpoczęła się kolejna rewolucja internetowa: Web 3.0. To od jakiego momentu będziemy liczyć Web 3.0, to pewnie w przyszłości rozstrzygną badacze. Niezależnie od tego, czy rewolucja się zaczęła, czy lada moment się zacznie, jedno jest pewne: jesteśmy świadkami powstania nowych technologii. Wydawałoby się, że w internecie wszystko już powstało, a jednak w ostatnich latach mamy z do czynienia z czymś zupełnie nowym
Żeby lepiej zrozumieć, czym jest Web 3.0 trzeba lepiej zrozumieć jak działają współczesne strony internetowe.
Zdecentralizowany internet
Jeśli posiadasz konto w banku, to zapewne masz do niego dostęp przez internet. Informacje takie jak saldo znajdują się na serwerach banku (w dużym uproszczeniu). Teoretycznie jeśli bank chciałby, to mógłby „wymazać” Twoje saldo. Oczywiście banki nie mogą tego zrobić, bo są nadzorowane przez specjalne instytucje i straciłyby swój autorytet, ale w czystej w teorii to bank tak naprawdę przetrzymuje źródło prawdy o Twoim rachunku bankowym.
Innym przykładem takiego “źródła prawdy”, jest notariusz. Jeśli chcemy podpisać umowę i sprawić, żeby to odbyło się a majestacie prawa, to robimy to u notariusza. Państwo (reprezentowane przez notariusza) poświadcza i nadaje ważność tej umowie. Notariusz jest źródłem prawdy. Jeśli coś pójdzie nie tak, to możemy udać się do notariusza i on przedstawi źródło prawdy.
Jeśli podpisujemy takie umowy w obrębie jednego kraju, a kraj respektuje prawa międzynarodowe, to nie ma z tym większego problemu. W umowach międzynarodowych już trzeba angażować w to instytucje międzynarodowe. Podobnie jest przy arbitrażu. Takie instytucje są zawsze pod czyjąś kontrolą.
A co jeśli nie byłoby jednego źródła prawdy? Zamiast tego, byłoby miliony małych, niezależnych źródeł, które byłyby połączone ze sobą i wszystkie przetrzymywały źródła prawdy? Otwarte i niekontrolowane przez nikogo. Tym właśnie jest Blockchain.
Blockchain przechowuje informacje, takie jak np. transakcje oraz stany kont (np. kryptowalut). Przez Blockchain można też zawierać umowy. Informacje są publiczne, ponieważ jest sieć rozproszona, do której każdy ma dostęp. Dane są nie do sfałszowania, ponieważ jeśli ktoś zmieniłby taką informację “u siebie”, to natychmiast ta informacja nie zgadzałaby się z tysiącami bloków u innych osób.
Projekt kursantów
Obecna liczba kryptowalut sięga ponad 7000. Co miesiąc pojawiają się nowe i trudno jest śledzić ich kurs. Tu może się przydać aplikacja kursantów na Bootcampie C#/.NET. CryptoMarket, bo tak nazywa się aplikacja kursantów, pozwala na śledzenie kursu 100 najpopularniejszych kryptowalut.
Aplikacja, wykorzystując dane z API, które udostępnia firma Nomics.com, pobiera najnowsze dane z rynku kryptowalut. Dane są pobierane przy logowaniu się do aplikacji, więc zawsze serwowane są najświeższe notowania.
Aplikacja zaciąga takie dane jak kwoty (zakupu i sprzedaży) oraz historyczna kwota sprzedaży, pozwala także na sprawdzenie zmiany kursów w czasie. Jest to ważna funkcja przy tego typu aplikacji, ponieważ zmiany na tym rynku są bardzo dynamiczne.
W aplikacji można skorzystać z filtrowania danych po nazwie i kwotach. Ważną funkcją, jest także możliwość zapisania walut i dodania ich do listy ulubionych. Dane w aplikacji można sortować po takich polach jak nazwa, cena, poprzednia cena i zmiana w czasie.
Aplikacja umożliwia także dodawanie własnych kryptowalut, wykorzystując do przechowywania bazę danych SQL. Do komunikacji z bazą danych został użyty Entity Framework, który jest oparty o licencje Open Source i jest wykorzystywany do komunikacji aplikacji z bazami danych. Całość została aplikacji powstała w .NET przy użyciu języka C#.
Po dodaniu kryptowaluty do bazy aplikacja umożliwia edytowanie tej ceny, co pozwala na aktualizacje kursu.
Przy tak dużej liczbie danych, które aplikacja musi sprawnie sobie radzić z obróbką i wyświetlaniem danych, więc zespół musiał poświęcić szczególną uwagę na optymalizację aplikacji. Świetnie sobie z tym poradził i aplikacja działa bardzo płynnie.
Prezentacja projektu
Bootcamp C#/.NET w infoShare Academy
Zacznij programować w jednym z najpopularniejszych i najbardziej lubianych przez programistów języków. Wszechstronny, prosty w nauce i mający wiele zastosowań. Poznaj język C#.
Dla kogo? Dla osób, które chcą sprawnie nauczyć się programowania od najlepszych trenerów-praktyków na rynku. Bootcamp jest przeznaczony dla osób, które myślą o podjęciu pracy jako C# Developer.
👉 Weekendowy bootcamp C#/.NET (przebranżowienie)
Co możesz robić po bootcampie? Poznaj historie naszych absolwentów!
👉 Elektronikę zamienił na programowanie – historia Jarosława Witowskiego
👉 Zamiast zarządzać finansami rozwija zagraniczną aplikację – historia Magdy Kłopotek
👉 Architektka wnętrz, która została programistką – historia Julii Łojek