Celem projektu będzie utworzenie aplikacji, która będzie przechowywać i wyświetlać dane związane z naszym kursem C++.
mkdir build
cd build
cmake ..
make -j
build/CourseDashboard-ut
build/CourseDashboard
- User Story - wymaganie użytkownika.
- Użytkownik - osoba korzystająca z aplikacji (trener lub kursant).
- Dane kursanów - imię, nick na Discordzie, link do GitHuba, link do Firecode, grupa.
- Jako trener chciałbym móc przeglądać, dodawać, usuwać i edytować dane kursantów
- Jako trener chcę, aby wszelkie informacje były zapisywane w pliku tekstowym i odczytywane z niego
- Jako użytkownik chcę móc zalogować się do aplikacji z użyciem adresu e-mail i hasła
- Jako użytkownik aplikacji nie chcę, aby moje hasło było gdziekolwiek dostępne i możliwe do odszyfrowania
- Jako użytkownik chciałbym, aby plik z danymi do programu był dostępny online i aby aplikacja pobierała z niego dane.
- Jako kursant chciałbym móc zaznaczać swoje przyszłe nieobecności lub odróbki w innej grupie
- Jako trener chciałbym móc przeglądać tabelę obecności kursantów
- Jako trener chciałbym, aby nazwy i daty lekcji były odczytywane z pliku konfiguracyjnego json
- Jako trener chciałbym móc wpisywać punkty każdemu kursantowi za poszczególne lekcje i inne aktywności
- Jako kursant chciałbym móc przeglądać swoją punktację za poszczególne lekcje i inne aktywności
- Jako użytkownik, chciałbym domyślnie widzieć tabelę rankingową wszystkich kursantów.
- Jako kursant chciałbym, aby moje dane były chronione, więc nikt oprócz trenera i mnie nie może edytować moich danych.
- Jako trener chciałbym, aby punkty za lekcje można było odczytać z pliku Markdown
- Jako użytkownik chciałbym, aby aplikacja była dostępna przez przeglądarkę internetową
-
Nazwy klas i typów UpperCamelCase (PascalCase). Nazwy zmiennych i funkcji lowerCamelCase.
-
Nazwy klas i zmiennych muszą zawierać rzeczownik. Nazwy funkcji muszą zawierać czasownik.
-
Głębokość wcięć to 4 spacje.
-
Spacje przed i po operatorach arytmetycznych, spacje po przecinku.
-
Dopuszczamy jednolinijkowe funkcje, jeśli składają się tylko z jednej instrukcji.
int doSth(int value) { return doSthElse(value); }
-
Nie dopuszczamy jednolinijkowych instrukcji warunkowych lub pętli:
if (condition) return 42; // bad
Akcja zawsze musi być w kolejnej linijce, aby jej nie przeoczyć:
if (condition) // good return 42;
-
Reszta do ustalenia przez was wspólnie.
-
Braces
void f() { dosth(); } // or void f() { dosth(); }
-
Left, right or center references and pointers
int b = 42; int& i = b; // left int &i = b; // right int & i = b; // center
-