Cześć,
Repozytorium, na którym się znajdujesz stworzone i rozwijane było w ramach kursu "Junior C#/.NET Developer" prowadzonego przez infoShare Academy. Poznając na bieżąco nowe technologie obraliśmy sobie za projekt stworzenie aplikacji YourScheduler, która dzięki swoim funkcjonalnościom ułatwiałaby organizowanie sobie czasu poprzez tworzenie dedykowanych grup, wydarzeń oraz implementacji kalendarza, który mógłby być dzielony dla pojedyńczych użytkowników oraz na wspólny dla zespołów.
Sprint 1 - Aplikacja konsolowa
![image](https://github.com/infoshareacademy/JCSZR9-YourScheduler/assets/124702988/47e05c8d-3d60-4d97-89e1-b39caec94ae3)
Funkcjonalność ukończona w pierwszej iteracji składała się z:
- zapisywania i przechowywania danych w plikach CSV,
- rejestracji użytkowników,
- zasymulowanego systemu logowania,
- wyświetlania i edycji danych użytkownika,
- tworzenia zespołów,
- tworzenia wydarzeń,
- przeglądania przypisanych do siebie wydarzeń i zespołów,
- przeglądania i możliwości dodania się do wydarzeń i zespołów.
Sprint 2 - MVC, Razor Pages, EntityFrameworkCore, SQL Server
![image](https://github.com/infoshareacademy/JCSZR9-YourScheduler/assets/124702988/dd57a163-66f1-4368-8cb5-986ad2aee83f)
Wraz z poznawaniem nowych technologii przenieśliśmy projekt na ASP.NET Core.
Nowe funkcjonalności i rozwiązania obejmowały:
- przeniesienie funkcjonalności na system MVC,
- stworzenie lokalnej bazy danych z wykorzystaniem Entity Framework Core,
- zaimplementowanie abstrakcji oraz warstwowości poprzez zastosowanie repository pattern oraz interfejsów,
- zaimplementowanie systemu logowania, rejestracji oraz edycji użytkowników wykorzystująć Identity,
- stworzenie nowej oprawy graficznej,
- zastosowanie IoC.
Sprint 3 - REST API, Xunit
![image](https://github.com/infoshareacademy/JCSZR9-YourScheduler/assets/124702988/a8c3ccb9-68e6-4150-96e9-855b9895df89)
W trakcie trzeciego sprintu skupiliśmy się na dopracowaniu i pretestowaniu stworzonego kodu.
Funkcjonalności oraz rozwiązania zastosowane w ostatniej iteracji w ramach kursu obejmowały:
- stworzenie testów jednostkowych metod Servisów oraz Repository,
- dodanie EmailService odpowiedzialnego za tworzenie i wysyłanie wiadomości email,
- dodanie opcji dodawania grafik do zespołów oraz wydarzeń,
- dodanie logowania z zewnętrznych serwisów (Google i Facebook),
- dopracowanie oprawy graficznej,
- przygotowania do przeniesienia aplikacji na Angular (metody API),
- zaimplementowanie Loggera, w celu zapisywania zdarzeń do plików.
Projekt nadal jest rozwijany pomimo zakończenia szkolenia.