To wielostronicowy widok tej sekcji do wydrukowania. Kliknij aby wydrukować.
Oprogramowanie i narzędzia
- 1: Logowanie się do platformy Nextcloud
- 2: Szlaban Bot
- 3: Sekcja Informatyki
- 3.1: Spotkania Sekcji IT
- 3.2: Przydatne strony
- 3.3: Wytyczne projektowe
- 3.4: Poradniki
- 3.5: Projekty
- 3.5.1: Generator stopek
- 3.5.2: PRT-Hub
- 3.5.3: Przykładowy projekt
- 3.5.4: SzlabanBot
- 3.5.5: Projekt serwera
- 3.5.6: Serwer testowy
- 3.5.7: Symulator silnika
- 3.5.8:
- 3.6: Zaplanowane projekty
- 3.6.1: Agregator Webhook
- 3.6.2: Bot Discord
1 - Logowanie się do platformy Nextcloud
Czym jest Nextcloud?
Nextcloud - jest to platforma służąca do hostowania plików, coś w stylu Google Drive’a - w naszym przypadku, służy ona do trzymania plików związanych z pracą w zespole, a więc różnego rodzaju dokumenty, zdjęcia, video, szablony, itp.
Jak się na nią dostać?
Aby wejść na naszą stronę Nextcloud’a, należy się udać pod adres:
Gdzie nastepnie, jeżeli nie logowaliśmy się wcześniej, zostaniemy poproszeni o dane dostępowe do platformy. Nasze dane dostępowe, podane są w formie:
- Nazwa użytkownika: 1 litera imienia, a potem nazwisko bez polskich znaków (np. Jan Kowalski -> jkowalski)
- Hasło: losowo wygenerowane bezpieczne hasło podane przez administratora platformy, bądź hasło które zmieniłeś po otrzymaniu konta.
Informacja
Konta do korzystania z platformy, są generowane przez członków Sekcji Informatyki, jeżeli nie otrzymałe/aś wcześniej wiadomości z dostępem, skontaktuj się z liderem Sekcji IT, obecny kontakt dostepny jest na stronie Liderzy SekcjiOrganizacja plików
Pliki na platformie Nextcloud są grupowane według bolidów przy których dane pliki zostały wykorzystane. Przykładowo, jeżeli chcielibyśmy znaleźć pliki designów Sekcji Aerodynamiki bolidu PMT-03, będziemy się kierować folderami:
- PMT-03 Sekcja Aerodynamika …
2 - Szlaban Bot
Opis
“Szlaban Bot” to bot na platformie Telegram pozwalający cżłonkom zespołu otwierać szlaban przy wjeździe do parkingu przy warsztacie PRz-Racing Team.
Jak korzystać?
Aby korzystac z bota, należy spełniać dwa warunki:
Kontakt
W celu jakichkolwiek informacji odnośnie działania i problemów w związku z Szlaban Botem, proszę kontaktować się z:
- Gabriel Olszewski
3 - Sekcja Informatyki
Wstęp
Sekcja Informatyki jest sekcją techniczną zespołu PRz-Racing Team, mająca na celu rozwijanie możliwosci drużyny o różnego rodzaju rozwiązania informatyczne.
Nasza historia zaczęła się jako odłam Sekcji Elektroniki, gdzie spośród osób mających doświadczenie z szeroko pojętą informatyką, realizowaliśmy oprogramowanie dla naszej drużyny.
Obecnie zajmujemy się tworzeniem oprogramowania oraz rozwiązań informatycznych, mającego wspomóc działanie drużyny, są to m.in:
- System zbierania danych z bolidu wyścigowego
- Obsługa danych i wyświetlanie zbieranych danych telemetrycznych
- Budowa i utrzymanie serwera głównego zespołu
- Wewnętrzny system wspomagania drużyny (IMS) - PRT-Hub
Będąc członkiem naszej sekcji, będziesz miał omżliwość pracy z naszymi obecnymi rozwiązaniami, korzystać z nich, utrzymywać i rozwijać je o kompletnie nowe możliwości.
Od naszych członków oczekujemy pisania czystego, funkcjonalnego kodu, który spełnia wszystkie standardy obowiązujące projekty wykorzystywanych w produkcji, nie odbiegając od projektów tworzonych pod skrzydłami dużych firm programistycznych.
Korzyści z pracy w sekcji
Wykonując projekty w zakresie Sekcji, będziesz miał możliwość nauki wielu zawansowanych technologii oraz technik, które są stosowane w przemyśle IT.
Jeżeli bierzesz udział w zajęciach związanych z informatyką, w zakresie których realizowany jest projekt, dostępna jest możliwość rozmowy z prowadząconym przedmiotu w celu wybrania tematu projektu jako ten, który realizujesz w zakresie Sekcji Informatyki. Z doświadczenia, większość prowadzących chętnie akceptują taką propozycje. W razie pytań, proszę o kontaktowanie się z Liderem Sekcji.
Organizacja pracy
Pracując w Sekcji Informatyki będziesz zoobligowany do korzystania z narzędzi które pozwolą Tobie jak i reszcie zespołu na łatwiejszą współprace, dzieląc się wynikami swojej pracy przy użyciu platform takich jak Github, Trello, Telegram na których nasza drużyna posiada odpowiednie zarządzane zespoły.
Kod
W celu realizacji naszych zadań, korzystamy z narzędzi które pozwalają nam na współprace przy bazach kodu, jak i niezawodne sposobu trzymanie naszych projektów w jednym miejscu, nie obawiając się o utratę danych i dostępność - w celu zaspokojenia tych potrzeb, sekcja korzysta z technologii git, a konkretnie z platformy Github
Nasz zespół posiada swoją własną organizację dostępną na tej platformie, dostepną pod linkiem https://github.com/PRz-Racing-Team
Narzędzia pracy
-
Gitkraken - oprogramowanie wspomagające korzystanie z technologi Git, pozwala na wizualne zarządzanie repozytoriami, usuwając potrzebe korzystania konsoli w czasie zarządzania kodem. Dostępny na stronie https://www.gitkraken.com}
-
Postman - program ułatwiający korzystanie, oraz testowanie z różnego rodzaju API. Pozwala on także na tworzenie symulacji natłoku zapytań REST w celu testowania endpointów naszych usług internetowych. Dostępny na stronie https://www.postman.com
-
Pakiet Jetbrains - paczka narzędzi programistycznych typu IDE\footnote{Integrated Development Environment - zintegrowane środowisko deweloperskie} ułatwiających pisanie kodu poprzez zaawansowane, wbudowane narzędzia typu debuggery, type checkery, które działają bezpośrednio z edytora kodu. W skład tych narzędzi wchodzą m.in:
- IntelliJ IDEA - środowisko programistyczne dla języka Java
- Clion - edytor kodu dla języków typu C, C++, RUST
- Webstorm - środowisko dla programistów stron internetowych, zawiera wsparcie dla HTML, CSS, JS i frameworków typu React bądź Angular.
- Pycharm - środowisko dla języka Python
- Goland - edytor dla języka programowania Go
Wszystkie powyższe edytory możemy znaleźć na stronie: https://www.jetbrains.com/
Licencja na narzędzia Jetbrains
Trzeba wspomnieć, że tylko część z narzedzi firmy Jetbrains jest dostępna za darmo, resztę możemy uzyskać odpłatnie - bądź, korzystając z specjalnej licencji Jetbrains dla studentów, uzyskać dostęp do nich za darmo. Licencja obowiązuje jedynie na projekty nie-komercyjne (nie przynoszące dochodu).
Licencja dla studentów na pakiet Jetbrains jest możliwa do uzyskania na stronie:
3.1 - Spotkania Sekcji IT
Informacja
Konkretne spotkania są listowane od najnowszych do najstarszychSpotkanie 08.03.2023
- Typ spotkania: stacjonarne
- Ilość osób obecnych: 10
Tematy do poruszenia
-
Sprzątanie:
Spotkamy się aby posprzątać 09.03.2023 o godz. 18:00 przed spotkaniem zespołu.
-
Omówienie projektów, nowe projekty:
- Projekt Bot Discord: rozwój bota na nasz serwer Discordowy
- Projekt Aggregator Webhook: rozwój modułu (Java Springboot) przechwytujące podłączone webhooki i umieszczające je w bazie danych w celu korzystania przez inne usługi
-
Serwer testowy:
Został postawiony serwer testowy, do testowania różnego rodzaju projektów i rozwiązań, bez obawy przed uwaleniem serwera głównego.
-
Inicjatywa Webhook:
rozpoczęcie robienia regularnych commitów na repozytorium, w celu testów systemu CI/CD Jenkins/Gitlab.
-
Plany na przyszły tydzień:
- Przetestowanie system logowania na serwerze testowym
- Próby implementacji logowania w PRTHub
- Jeżeli uda się postawić stabilny system logowania -> migracja Nextcloud do Nextcloud AIO
Spotkanie 01.03.2023
- Typ spotkania: stacjonarne
- Ilość osób obecnych: 8
Tematy do poruszenia
-
Inicjatywa “One Login For All” - obejmuje wprowadzenie systemu logowania SSO (Single Sign-On) do następujących usług:
- E-mail (służący również jako główny sposób logowania się użytkowników)
- Dokumentacja
- Gitlab
- Nextcloud
- OpenVPN
- Customowe usługi, typu PRTHub oraz mikroserwisy
System ten będzie oparty na podstawie Keycloak: https://www.keycloak.org oraz posiadał integrację z platformą Telegram i kontami Google, wraz z udostępnionym panelem zarządzania użytkownikami.
-
Kolejny meetup: https://www.meetup.com/rzeszow-cloud-native-group/events/291021181
Temat: “Delivering good development experience” 15 marca 19:00 Apart Hotel 12 -
Sprawdzenie postępu projektów
-
Zadanie domowe: Wprowadzenie do korzystania z dokumentacji: https://github.com/PRz-Racing-Team/prt-docs
Wejdźcie na repozytorium https://github.com/PRz-Racing-Team/prt-docs i pobierzcie sobie projekt, następnie spróbujcie według instrukcji w README go odpalić. Będziecie potrzebowali do tego Hugo oraz Golang, które są podlinkowane w README.
Jak wam się to uda, to dodajcie w folderze jak na screenshocie, plik odnośnie waszego tworzonego projektu, na podstawie pliku przykladowa_dokumentacja_projektu.md w którym po krótka opisujecie co się w nim dzieje.
Następnie, zróbcie commita, po czym wrzućcie merge request na repozytorium, w razie jakichkolwiek problemów, w starej dokumentacji PDF są poradniki z Gita.
W razie jakichkolwiek problemów, przy budowaniu projektu albo czymkolwiek, dajcie znać 😄
- Przypomnienie o uzupełnienie dyspocyzyjności na event https://docs.google.com/spreadsheets/d/1Cga25YVIx1rlewaD2AcGBO0iwqflEUdQEXfvqM-b3NM/edit#gid=1767985861
- Nowe zadania:
- Przygotowanie generatora stopek mailowych dla naszego zespołu. Projekt obejmuje stworzenie serwisu z formularzem, który przyjmuje zdjęcie, mail, stanowisko, imie i nazwisko, a następnie generuje podgląd dokumentu HTML w przeglądarce. Kod stopki będzie dostępny na grupie Telegram.
Spotkanie 22.02.2023
- Typ spotkania: zdalne
- Ilość osób obecnych: 10
Tematy do poruszenia odnośnie Sekcji
-
Wprowadzenie do nowego systemu dokumentacji:
- https://www.docs.przracing.pl
- Cotygodniowy skrót spotkań
- Przykładowa dokumentacja projektowa
- Pokazanie jak edytować stronę dokumentacji w plikach markdown
-
Ustalenie potencjalnego nowego terminu spotkań sekcji
-
Przejrzenie produktów potencjalnego partnera CSI)
- https://csi.pl/
- Rzeczy z kategorii:
- Routery
- UPS
- Części do serwera (Dyski, RAM, etc.)
- Mini-komputery (np. z terminale z ekranem dotykowym do telemetrii)
-
Bitrix:
- PRT-Tools
- Magazyn
-
Rzeczy na ASAP
- Serwer:
- Aktualizacja do najnowszej wersji Nextclouda (i sprawdzenie czy błędy z wrzucaniem plików przestaną występować)
- Serwer:
-
Możliwość wzięcia udział w wydarzeniu Nvidii
-
Możliwość wzięcia udziału w spotkania programistów:
- 18:30 23.02.2023
- Rzeszowskie Piwnice - interaktywna instytucja kultury Rynek 26 · Rzeszów
- https://www.meetup.com/rg-dev/events/291557961/
Tematy ogólne
-
Rekrutacja specjalistyczna: jakie stanowiska potrzebujemy?
-
Wpisanie się w harmonogram eventu (IX Salon Edukacji 02.03.2023 CKZ Rzeszów 8:00- 13:00): https://docs.google.com/spreadsheets/d/1Cga25YVIx1rlewaD2AcGBO0iwqflEUdQEXfvqM-b3NM/edit#gid=1767985861
-
Powrót do celów tygodniowych (PRz-Racing Team Announcements)
Spotkanie XX.XX.20XX
- Typ spotkania: zdalne/stacjonarne
- Ilość osób obecnych: X
Tematy do poruszenia
- A
- B
- C
- D
3.2 - Przydatne strony
Narzędzia WEB
Poniżej znajdziesz różnego rodzaju przydatne narzędzia działającego w przeglądarce.
Tworzenie grafik
Tworzenie Favicon
Analizatory i testery
Symulatory
- Wokwi - symulator mikrokontrolerów i urządzeń IoT
Dokumentacje
Poniżej zostały podane różnego rodzaju dokumentacje, ściągi i zbiory przydatnych informacji.
Cheat sheets
Edytowanie strony dokumentacji
Jeżeli pragniesz modyfikować szablon tej strony, bądź dodać nowy content - polecam skorzystać z dokumentacji tego szablonu pod linkiem:
Awesome Sites
Zbiór kompediów wiedzy z Githuba, na różnego rodzaje tematów:
- https://github.com/chubin/awesome-console-services
- https://github.com/kylelobo/The-Documentation-Compendium
- https://github.com/dastergon/awesome-chaos-engineering
- https://github.com/ChromeDevTools/awesome-chrome-devtools
- https://github.com/BruceDone/awesome-crawler
- https://github.com/Vedenin/useful-java-links
- https://github.com/atinfo/awesome-test-automation
- https://github.com/awesome-lists/awesome-bash
- https://github.com/chrissimpkins/codeface
- https://github.com/meirwah/awesome-incident-response
- https://github.com/pingcap/awesome-database-learning
- https://github.com/grpc-ecosystem/awesome-grpc
- https://github.com/detailyang/awesome-cheatsheet
- https://github.com/LappleApple/awesome-leading-and-managing
- https://github.com/paralax/awesome-honeypots
- https://github.com/yzhao062/anomaly-detection-resources
- https://github.com/rossant/awesome-math
- https://github.com/alexandresanlim/Badges4-README.md-Profile
- https://github.com/aalhour/awesome-compilers
- https://github.com/webpro/awesome-dotfiles
- https://github.com/davidsonfellipe/awesome-wpo
- https://github.com/Kristories/awesome-guidelines
- https://github.com/TonnyL/Awesome_APIs
- https://github.com/thibmaek/awesome-raspberry-pi
- https://github.com/phanan/htaccess
- https://github.com/RunaCapital/awesome-oss-alternatives
- https://github.com/ujjwalkarn/Machine-Learning-Tutorials
- https://github.com/EthicalML/awesome-production-machine-learning
- https://github.com/keon/awesome-nlp
- https://github.com/dipakkr/A-to-Z-Resources-for-Students
- https://github.com/dexteryy/spellbook-of-modern-webdev
- https://github.com/awesome-foss/awesome-sysadmin
- https://github.com/kuchin/awesome-cto
- https://github.com/sdras/awesome-actions
- https://github.com/akullpp/awesome-java
Front-end
- https://github.com/dypsilon/frontend-dev-bookmarks
- https://github.com/rehooks/awesome-react-hooks
- https://github.com/brillout/awesome-react-components
- https://github.com/AllThingsSmitty/css-protips
- https://github.com/sindresorhus/awesome-electron
- https://github.com/AllThingsSmitty/must-watch-css
- https://github.com/goabstract/Awesome-Design-Tools
- https://github.com/terkelg/awesome-creative-coding
- https://github.com/neutraltone/awesome-stock-resources
- https://github.com/gztchan/awesome-design
Scaling & Automations & System administration
- https://github.com/veggiemonk/awesome-docker
- https://github.com/binhnguyennus/awesome-scalability
- https://github.com/awesome-selfhosted/awesome-selfhosted
- https://github.com/sottlmarek/DevSecOps
- https://github.com/shuaibiyy/awesome-terraform
- https://github.com/dzharii/awesome-elasticsearch
Cyber-security
- https://github.com/carpedm20/awesome-hacking
- https://github.com/Hack-with-Github/Awesome-Hacking
- https://github.com/pluja/awesome-privacy
- https://github.com/Lissy93/personal-security-checklist
Teoria
- https://github.com/trimstray/the-book-of-secret-knowledge
- https://github.com/kdeldycke/awesome-falsehood
- https://github.com/mfornos/awesome-microservices
- https://github.com/mhadidg/software-architecture-books
- https://github.com/DovAmir/awesome-design-patterns
Inne
- https://github.com/sindresorhus/awesome
- https://github.com/prakhar1989/awesome-courses
- https://github.com/papers-we-love/papers-we-love
- https://github.com/MunGell/awesome-for-beginners
- https://github.com/DopplerHQ/awesome-interview-questions
- https://github.com/tiimgreen/github-cheat-sheet
- https://github.com/mezod/awesome-indie
- https://github.com/rShetty/awesome-podcasts
- https://github.com/bnb/awesome-developer-streams
- https://github.com/abhisheknaiidu/awesome-github-profile-readme
- https://github.com/posquit0/Awesome-CV
- https://github.com/kitspace/awesome-electronics
- https://github.com/lukasz-madon/awesome-remote-job
- https://github.com/alebcay/awesome-shell
- https://github.com/jakejarvis/awesome-shodan-queries
3.3 - Wytyczne projektowe
WIP .
3.4 - Poradniki
Programowanie
Python
-
Podstawy Python - youtube.com [PL]
-
Korzystanie z REST API w Pythonie - youtube.com [PL]
-
Łączenie z zewnętrznym API w Pythonie - youtube.com [PL]
-
Obsługa baz danych w Python - youtube.com [PL]
C++
- Playlista z poradnikami C++ - youtube.com [PL]
Protokoły
Poradniki związane z protokołami komunikacyjnymi.
SocketCAN
- SocketCAN - wikipedia.org [EN]
- Omówienie SocketCAN - kernel.org [EN]
SPI
- Krótkie wprowadzenie do SPI - arduino.cc [EN]
Mikrokontrolery
Materiały odnośnie mikrokontrolerów, mini-komputerowych i podobnych.
- Omówienie ESP32 - youtube.com [EN]
Git
Obsługa systemu kontroli źródła Git
- Git od podstaw - youtube.com [PL]
- Korzystanie z Gitkrakena - youtube.com [EN]
Autonomiczność
Materiały zwiazane z rozwijaniem rozwiązań autonomicznych
- Zastrzyk teorii co do ROS’a - youtube.com [EN]
- Wprowadzenie praktyczne działania z ROS’em - youtube.com [EN]
- Programowanie ROS w Python - youtube.com [EN]
- Kanał poświęcony robotyce i projektom w ROS - youtube.com [EN]
Regulaminy Formuly Student
- Regulamin FSG - formulastudent.de [EN]
3.5 - Projekty
Miejsce w którym znajdują się pliki dokumentacje odnośnie projektów Sekcji Informatyki.
3.5.1 - Generator stopek
Generator stopek
Projekt służy do szybkiego stworzenia szablonu stopek do maili. Jest to backend dla jednej z wielu funkcjonalności projektu PRTHub.
Osoby odpowiedzialne:
- Sebastian Samulak
Gdzie można znaleźć ten projekt? Projekt znajduje się na naszym formułowym serwerze.
Jak z niego korzystac?
Aby skorzystać z projektu należy wejść w zakładkę generatora stopek na pasku nawigacyjnym PRT-Hub. Wymagane jest uzupełnienie formularza podając wkazane w nim dane. Po wciśnięciu przycisku Wygeneruj/Wyślij zostanie utworzona stopka do maili, którą należy skopiować i wkleić w odpowiednie miejsce w każdym z maili.
Część techniczna
Projekt obejmuje część backendową utworzoną w ASP.NET Core Web API. Znajdują się w nim modele domenowe. Warstwą prezentacji jest WebAPI, w której znajduje się kontroler odpowiedzialny za zapytania typu POST. Istnieje możliwosć gromadzenia danych, lecz w chwili obecnej jest wyłaczona.
Linki do repozytorium
Cele
- Microserwis (Realizuje ściśle określoną funkcję tworzenia stopek do maili)
- Wydajność (Użyto w momencie tworzenia projektu najnowszą wersję framworku .NET)
- Dostępność (Możliwość korzystania z projektu dla każdego członka zespołu)
Założenia projektowe
Backend zostanie postawiony na formułowym serwerze, aby każdy z członków miał możliwość pozyskiwania sponsorów oraz promocji zespołu. Finalnie będzie posiadał zabezpieczenia przed użytkownikami z zewnątrz poprzez wymianę tokenu pomiędzy użytkownikiem a serwerem.
Użyte technologie
- Język programowania C#
- Platforma ASP.NET Core Web API
- Framework .NET 7.0
Napotkane problemy
Automapper
Warto zwrócić tutaj uwage na kłopotliwość związaną z skonfigurowaniem AutoMappera, który został ostatecznie usunięty z projektu, gdyż dane nie są gromadzone. Pomimo zgodności mapowanych danych wyskakiwał błąd kończący pracę serwera. Wedle wierzeń programistów należy napisać Automaper w sposób “ręczny” co minimalizuje ryzyko depresji z nim związanej.
3.5.2 - PRT-Hub
PRT-Hub
Projekt PRTHub, jest stroną internetową postawioną na naszym formułowym serwerze, która służy do zgromadzenia funkcji ułatwiających członkom zespołu pracę na warsztacie. Poza przydatnymi informacjami na stronie głównej, która jest dostępna po zalogowaniu się, możemy zauważyć m.in. generatory do ofert oraz stopek do maili. Strona jest ciągle rozbudowywana o nowe funkcje.
Osoby odpowiedzialne:
- Wiktoria Czech
Gdzie można znaleźć ten projekt?
Projekt znajduje się na stronie internetowej, wymagane jest zalogowanie się: PRT-Hub
Jak z niego korzystać?
Po wejściu w adres strony internetowej klikamy w bolid lub z przycisk w prawym górnym rogu żeby się zalogować. Podajemy swoje dane i logujemy się.
Zostajemy przekierowani na stronę główną gdzie możemy zobaczyć czas pozostały do nadchodzących zawodów w tym sezonie oraz kalendarz z informacją o sprzątaniu dla danej sekcji. 3 przyciski pod kalendarzem przeniosą nas na strony opisane na przyciskach.
Po lewej stronie widzimy granatowy pasek nawigacji, dzięki któremu możemy przejść na interesujące nas podstrony.
Tworzenie ofert oraz generator stopek
Oba projekty wymagają uzupełnienia formularza, który pojawia się gdy wejdziemy w odpowiednią zakładkę na pasku nawigacji. Pola wymagane oznaczono czerwoną gwiazdką i podano też przykładowe dane w okienkach. Po naciśnięciu przycisku Wygeneruj/Wyślij dostajemy informację zwrotną w formie pola z informacją czy nasze żądanie powiodło się.
Dla generatora stopek po najechaniu na słowo POCZTA lub naciśnięciu któregokolwiek z kolorowych przycisków w formularzu wyświetlona zostaje lista z popularnymi serwisami pocztowymi. Należy wybrać swoją pocztę i kliknąć w nią. Pojawi się lista kroków jak dodać wygenerowaną stopkę. Wytłuszczony przycisk TUTAJ otwiera w nowym oknie link z instrukcją w razie problemów.
Panel sponsorów
Wchodząc w panel sponsorów widzimy 4 karty, które sortują naszych aktualnych sponsorów na kategorie. Wchodząc w interesującą nas kartę widzimy listę sponsorów z danej kategorii. Reszta funkcji widoczna w oknie nawigacji będzie programowana i uzupełniana na bieżąco.
Część Techniczna
Wyżej opisany projekt obejmuje część frontendową pisaną w frameworku REACT na Node.js w wersji 18.12.1. Zainstalowany poprzez komendę npm i antd layout ant-designu został w różnych częściach projektu zaimplementowany w celu ukrócenia sobie męki programowania „koła” na nowo.
Każda podstrona bądź znacząca część strony została wydzielona do osobnych folderów, zawierających komponent javascriptowy z css’em do niego w celu zachowania jakiejkolwiek przejrzystości kodu. Przy programowaniu każdej części strony ogarnięto responsywność ale nie była ona testowana na każdym telefonie. W celu nadpisania defaultowego wyglądu niektórych komponentów antd wrzucono „!important” w css.
Cele
- Skalowalność: możliwość dodania nowych funkcji
- Ułatwienie dostępu: Generowanie prawidłowych pdf do zakupu części bolidowych, wyszukiwarka
- ALL in ONE: dużo przydatnych funkcji zebranych w jednym miejscu
Założenia projektowe
Do projektu nie mogą mieć dostępu osoby niezalogowane. Funkcjonalność ponad wygląd ale to nie znaczy , że strona ma wyglądać beznadziejnie. Przyjazne UI.
Użyte technologie
- Framework: React ^ 18.2.0
- Oprogramowanie: Node.js ^ 18.12.1
Biblioteki:
- Ant-design-icons ^ 5.0.1
- Antd ^ 5.2.3
- History ^ 5.3.0
Napotkane problemy
Kalendarz:
W celu wykonania jakiejkolwiek operacji na kalendarzu antd nie odwoływać się do zmiennych w obiekcie – są prywatne. Wszystkie prywatne zmienne oznaczone są „_” przed nazwą zmiennej.
3.5.3 - Przykładowy projekt
Nazwa projektu
Opis w bardzo prostych słowach, na temat tego do czego służy ten projekt i co on robi.
Max. 5 zdań.
Osoby odpowiedzialne:
- Jan Kowalski
- etc
Gdzie można znaleźć ten projekt? Opisać gdzie ten projekt się znaduje, czy np. jest to na jakiejś stronie internetowej, czy w miejscu na formule bądź bolidzie.
Jak z niego korzystac?
Jeżeli twój projekt został zrealizowany dla wszystkich w formule, w tym miejscu powinna znaleźć się dokładna instrukcja jak korzystać z danego rozwiązania. Np. dla kreatora dokumentów ofertowych, powinien być opis jak to wyklikać, co się kiedy dzieje, itp.
Część techniczna
Część przeznaczona dla osób z Sekcji Informatyki bądź elektroniki, bądź zainteresowanych szczegółami projektu.
Linki do repozytorium
Cele
Opis tego jakie cele chcielibyśmy uzyskać i jakie projekt powinien spełniać cechy Przykładowo, jeżeli mielibysmy projekt internetowego włącznika do światła, to byłoby to:
- Dostępność (Łatwo wejść na strone i przełączyć światło)
- Skalowalność ( proste dodawanie kolejnych guzików żeby móc pstrykać więcej lampek)
- Wydajność (mając podłączonych 1000 lampek do systemu, po kliknięciu przełączą sie one i tak w 1 sekundę )
Założenia projektowe
Przykładowo, założeniem projektowym są odgórne limity i wymagania które projekt musi spełnić, np. ograniczeniem telemetrii jest układ STM32, albo to że projekt strony internetowej będzie postawiony na AWS i musi być możliwość szybkiego deploy’a na tą platformę.
Użyte technologie
- Języki programowania
- Biblioteki
- Usługi np. AWS, Retool
W jaki sposób działa ten projekt?
Bardziej szczegółowy opis, na ten moment zostawiam stosunkową dowolność.
Napotkane problemy
W tym miejscu, powinny znajdować się duże problemy, które sprawiły nam problem przez dłuższy okres czasu i warto wrzucić tutaj informacje na jego temat, w celu protego znalezienia rozwiązania, bądź ogólnej przestrogi, na przyszłość, jak dla siebie jak i dla innych osób które mogą rozwinać ten dany projekt.
Jeżeli jakiś problem pojawił się z powodu źle popełnionej decyzji, taka informacja też jest bardzo wartościowa - zwłaszcza na designach!
Problem XYZ
Napotkałe/am problem […] w czasie […], naprawiony został poprzez […]
3.5.4 - SzlabanBot
SzlabanBot
Projekt został stworzony w celu ułatwienia dostępu na parking warsztatu poprzez aplikację Telegram.
Osoby odpowiedzialne:
- Gabriel Olszewski
Gdzie można znaleźć ten projekt? Projekt jest podzielony na trzy skrypty oraz bazę danych. Skrypt pierwszy jest zainstalowany na ESP8266 znajdującym się w puszcze po prawej stronie od wejścia. Baza danych i dwa pozostałe skrypty są uruchomione na serwerze.
Jak z niego korzystac?
Jeżeli twój projekt został zrealizowany dla wszystkich w formule, w tym miejscu powinna znaleźć się dokładna instrukcja jak korzystać z danego rozwiązania. Np. dla kreatora dokumentów ofertowych, powinien być opis jak to wyklikać, co się kiedy dzieje, itp.
Część techniczna
Część przeznaczona dla osób z Sekcji Informatyki bądź elektroniki, bądź zainteresowanych szczegółami projektu.
Linki do repozytorium
Cele
Opis tego jakie cele chcielibyśmy uzyskać i jakie projekt powinien spełniać cechy Przykładowo, jeżeli mielibysmy projekt internetowego włącznika do światła, to byłoby to:
- Dostępność (Łatwo wejść na strone i przełączyć światło)
- Skalowalność ( proste dodawanie kolejnych guzików żeby móc pstrykać więcej lampek)
- Wydajność (mając podłączonych 1000 lampek do systemu, po kliknięciu przełączą sie one i tak w 1 sekundę )
Założenia projektowe
Przykładowo, założeniem projektowym są odgórne limity i wymagania które projekt musi spełnić, np. ograniczeniem telemetrii jest układ STM32, albo to że projekt strony internetowej będzie postawiony na AWS i musi być możliwość szybkiego deploy’a na tą platformę.
Użyte technologie
- Python, C
- Docker
- JWT, SHA256
W jaki sposób działa ten projekt?
Bardziej szczegółowy opis, na ten moment zostawiam stosunkową dowolność.
Napotkane problemy
W tym miejscu, powinny znajdować się duże problemy, które sprawiły nam problem przez dłuższy okres czasu i warto wrzucić tutaj informacje na jego temat, w celu protego znalezienia rozwiązania, bądź ogólnej przestrogi, na przyszłość, jak dla siebie jak i dla innych osób które mogą rozwinać ten dany projekt.
Jeżeli jakiś problem pojawił się z powodu źle popełnionej decyzji, taka informacja też jest bardzo wartościowa - zwłaszcza na designach!
Problem XYZ
Napotkałe/am problem […] w czasie […], naprawiony został poprzez […]
3.5.5 - Projekt serwera
Wstęp
Projekt majacy na celu stworzenie drużynowego serwera w celu hostowania własnego oprogramowania oraz przetrzymywania danych długoterminowo.
Hardware serwera
Komputer służacy jako serwer został złożony z następujących części:
- Płyta główna - ASRock B460M Steel Legend
- Procesor - Intel Core i5-10400
- Pamieć RAM - GOODRAM 16GB (2x8GB) 3200MHz CL16 IRDM X Black
- Zasilacz - be quiet! Pure Power 11 400W 80 Plus Gold
- Dysk systemowy - ADATA 256GB M.2 PCIe NVMe XPG SX6000 Pro
- Dyski - Seagate IRONWOLF CMR 4TB 5900obr. 64MB - 3 sztuki
Osoby odpowiedzialne za serwer
- Wiktor Jezioro
- Patryk Kępa
3.5.6 - Serwer testowy
Wstęp
Serwer testowy, to lokalnie zahostowany serwer w warsztacie, służący do testowania różnego rodzaju rozwiązań w środowisku gdzie, w razie usterki, nie wpłynie to na działanie żadnych systemów wykorzystywanych przez zespół.
Korzystanie z serwera
W celu skorzystania z serwera, należy będąc podłączonym do sieci Wi-Fi zespołu, bądź będąc podłączonym do VPN’a, skorzystać z połączenia SSH.
Aby to dokonać, będziemy musieli skorzystać z klienta ssh, przykładowo - Termius bądź PuTTY (przestarzały).
Następnie, korzystając z klienta ssh, logujemy się za pomocą niżej podanych danych dostępowych.
- Adres IP: 192.168.1.143
- Nazwa użytkownika: prztest
- Hasło: turbocebra600
{{ % alert title=“Uwaga!” color=“warning” % }} Każde połączenie i wywołane komendy są logowane przez administratora, jakiekolwiek próby uszkodzenia bądź zniszczenia konfiguracji dla zabawy są jawne i przypisane do osób korzystających z serwera.
Jakiekolwiek przykłady takiego zachowania będą karane.
3.5.7 - Symulator silnika
Symulacja pracy silnika spalinowego
Celem projektu jest sprawdzenie skuteczności dostępnego publicznie oprogramowania, które umożliwia symulację pracy dowolnego silnika spalinowego w czasie rzeczywistym. Głównym celem jest utworzenie w przyszłości projektu silnika z bolidu PMT-04 i porównanie wyników symulatora z prawdziwą telemetrią.
Osoby odpowiedzialne:
- Michał Surówka
Gdzie można znaleźć ten projekt?
Oprogramowanie dostępne jest w serwisie GitHub pod tym linkiem: TUTAJ Znajduje się nie tylko sam program, ale z tej witryny można przejść bezpośrednio do bazy gotowych już silników utworzonych przez społeczność. Docelowo w naszym repozytorium znajdzie się plik zawierający model silnika z bolidu PMT-04.
Jak z niego korzystac?
Przechodząc do lokalizacji ‘\engine-sim-buildWERSJA\bin’ otwieramy plik ‘engine-sim-app.exe’. Otworzy się wtedy program z załadowanym ostatnio używanym modelem silnika. Tam wedle dołączonej na w.w. GitHubie można badać jego zachowanie (prędkość maksymalną, zużycie paliwa, ciśnienie w kolektorze etc.). Możemy też zmienić model silnika za pomocą opcji ‘Load Engine’.
Część techniczna
Budowa oprogramowania oraz modeli silnika oparta jest na języku Piranha, który jest językiem opartym na C stworzonym specjalnie na potrzeby tego programu. Dzięki temu kod jest na tyle zoptymalizowany, że umożliwia monitorowanie silnika przy ponad 25 tysiącach odświeżeń stanu na sekundę, jednakże jest to bardzo zależne od mocy obliczeniowej komputera oraz złożoności modelu. Warto wspomnieć, że program jest w fazie Alpha, więc nie wszystkie modele działają poprawnie, są liczne problemy z wydajnością przy bardziej skomplikowanych modelach silników, niektóre modele często z niewiadomych przyczyn wcale się nie kompilują w programie.
Cele
- Wydajność
- Dokładność
- Niezawodność
- Skalowalność
Założenia projektowe
Główne założenie to zbadanie budowy modelu silnika w języku Piranha i sprawdzenie jego możliwości. Celem końcowym jest odtworzenie silnika z bolidu PMT-04 w symulatorze z jak największą dokładnością. Jeżeli twórca udostępni taką funkcjonalność, to w przyszłości może być możliwe badanie pracy silnika elektrycznego.
Użyte technologie
- Języki programowania (Piranha)
- Biblioteki
- Społecznościowe modele silnika
W jaki sposób działa ten projekt?
Program czytając plik modelu silnika jest w stanie w czasie rzeczywistym odtwarzać jego pracę, dźwięk i zachowanie w określonych warunkach. Na ten moment możliwe jest badanie silnika spalinowego (bez turbosprężarki ani kompresora) w różnych układach cylindrów (V8, W12, Y9 itp.) a także silnika Wankla. Plik z modelem silnika zawiera w sobie node’y, gdzie każdy z nich dokładnie opisuje cechy charakterystyczne danego elementu silnika i skrzyni biegów. Możliwości jak na fazę Alpha są bardzo duże a edycja/tworzenie modeli jest intuicyjne.
Bardzo ważne jest, aby przed przystąpieniem do jakiejkolwiek symulacji przygotować program przez ustawienie odpowiedniej częstotliwości pracy. Ustawienie zbyt dużej częstotliwości będzie skutkować niedokładną symulacją i bardzo wolnym działaniem programu (spadki nawet do 10 klatek na sekundę), natomiast zbyt niska częstotliwość obniża stabilność modelu, przez co przy rozpoczęciu testów model może zwyczajnie się zepsuć. Wtedy należy go załadować ponownie i dostosować częstotliwość.
Napotkane problemy
Główne problemy to stabilność modeli. Wiele modeli posiada błędy wynikające podczas symulacji, np: silnik zawieszający się po osiągnięciu określonych obrotów lub brak reakcji na zapłon. W większości przypadków ciężko jest określić czy wina leży po stronie modelu czy po stronie symulatora. Dodatkowy problem to działanie symulacji przy skomplikowanych modelach. Podczas gdy modele o prostszej budowie, np: silniki motocyklowe można badać w częstotliwości 20-25kHz, tak bardziej skomplikowane modele, np: wysokobrotowe V10 lub V12 zaczyna sprawiać problemy przy 8-9kHz (może to wynikać ze słabej skalowalności programu, gdyż testy przeprowadzane były na komputerach o dużej mocy obliczeniowej).
Ostatni problem to język w jakim napisany jest program i modele z których korzysta. Konieczne jest zapoznanie się ze składnią całkowicie nowego języka, który nie jest używany nigdzie poza tym symulatorem, gdyż specjalnie na jego potrzeby został utworzony.
Problem z błędami w symulacji
Podczas przeprowadzania symulacji niejednokrotnie model po prostu się “wysypuje”, bądź od początku działa nieprawidłowo. Przykładowo model silnika Renault RS25 nie może przekroczyć bariery 3000RPM oraz nie może pracować samoczynnie (po wyłączeniu startera silnik gaśnie). Podobny problem występuje w modelu silnika Triumph Race T-Plane 3, który nie przebija 4500RPM i gaśnie od razu po wysprzęgleniu na jakimkolwiek biegu.
3.5.8 -
3.6 - Zaplanowane projekty
Wstęp
W tym miejscu, znajdują się projekty które są WIP bądź są zaplanowane na przyszłość.
3.6.1 - Agregator Webhook
Wstęp
Celem projektu, jest stworzenia modułu mającego na celu wystawienie endpoint’a REST API, który będzie przechwytywał webhook’i z różnego rodzaju serwisów, na początek będzie to serwis Github. Usługa zostanie później dołączona jako podpanel, do projektu PRTHub’a w celu szybkiego podglądu np. postępu projektów na Githubie.
Opis techniczny
Przykładowo, w celu odbierania naszych webhooków, będziemy chcieli wystawić POST API, na adresie:
https://api.przracing.pl/webhooks/github
na którym nasza usługa będzie przyjmować JSON’a z informacjami odnośnie wydarzenia które powstało na Githubie. Następnie, całą naszą odebraną wiadomość, będziemy zapisywać w bazie danych:
- MongoDB - będzie ona łatwiejsza do implementacji, z powodu jej natywnego wsparcia dla obiektów JSON (każdy rekord w tej bazie danych to tak naprawdę ramka formatu JSON)
- MySQL - korzystając z obiektu w formacie JSON (może być troszeczkę trudniej)
Ważnym elementem jest próba automatyzacji tego w taki sposób, byśmy nie musieli tworzyć rozbudowanego rekordu w bazie MySQL samemu, dla każdej usługi format Webhook’ów może być inny i ponowne definiowanie ich w bazie danych, w momencie kiedy chcemy dodać jakaś usługę, byłoby bardzo męczące i problematyczne.
Przydatne materiały
- https://www.baeldung.com/cs/webhooks-polling-real-time-information
- https://www.oodlestechnologies.com/blogs/how-to-implement-webhook-in-spring-webapplication./
- https://dreamix.eu/blog/java/webhook-with-spring-boot-and-h2-database
- https://www.codeproject.com/Articles/576278/Webhooks-webhook-URLs-and-a-sample-implementation
- https://github.com/IntuitDeveloper/SampleApp-Webhooks-Java - Uwaga! dosyć stary materiał
- https://www.digitalocean.com/community/tutorials/working-with-json-in-mysql
Przykłady
Poniżej znajduje się przykładowa ramka, z webhook’a Github’a.
{
"action": "completed",
"check_suite": {
"id": 11474097815,
"node_id": "CS_kwDOJFq9ec8AAAACq-jWlw",
"head_branch": "master",
"head_sha": "da8013944471bf7ad65c6739a9efde9770c70571",
"status": "completed",
"conclusion": "success",
"url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/check-suites/11474097815",
"before": "91546e32d360a235474921cf5dd7ea6d0a8d8aa0",
"after": "da8013944471bf7ad65c6739a9efde9770c70571",
"pull_requests": [
],
"app": {
"id": 85455,
"slug": "cloudflare-pages",
"node_id": "MDM6QXBwODU0NTU=",
"owner": {
"login": "cloudflare",
"id": 314135,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjMxNDEzNQ==",
"avatar_url": "https://avatars.githubusercontent.com/u/314135?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/cloudflare",
"html_url": "https://github.com/cloudflare",
"followers_url": "https://api.github.com/users/cloudflare/followers",
"following_url": "https://api.github.com/users/cloudflare/following{/other_user}",
"gists_url": "https://api.github.com/users/cloudflare/gists{/gist_id}",
"starred_url": "https://api.github.com/users/cloudflare/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/cloudflare/subscriptions",
"organizations_url": "https://api.github.com/users/cloudflare/orgs",
"repos_url": "https://api.github.com/users/cloudflare/repos",
"events_url": "https://api.github.com/users/cloudflare/events{/privacy}",
"received_events_url": "https://api.github.com/users/cloudflare/received_events",
"type": "Organization",
"site_admin": false
},
"name": "Cloudflare Pages",
"description": "",
"external_url": "https://pages.cloudflare.com/",
"html_url": "https://github.com/apps/cloudflare-pages",
"created_at": "2020-10-19T20:23:00Z",
"updated_at": "2021-01-12T18:19:30Z",
"permissions": {
"checks": "write",
"contents": "read",
"deployments": "write",
"metadata": "read",
"pull_requests": "write"
},
"events": [
"pull_request",
"push"
]
},
"created_at": "2023-03-10T08:05:39Z",
"updated_at": "2023-03-10T08:07:46Z",
"rerequestable": true,
"runs_rerequestable": true,
"latest_check_runs_count": 1,
"check_runs_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/check-suites/11474097815/check-runs",
"head_commit": {
"id": "da8013944471bf7ad65c6739a9efde9770c70571",
"tree_id": "6837da45883ed6cbbcd31ae8bc38ff768eb34169",
"message": "Added layout with cards to sponsors panel.",
"timestamp": "2023-03-09T00:12:44Z",
"author": {
"name": "WiktoriaCzech",
"email": "czech.wiktoria1@gmail.com"
},
"committer": {
"name": "WiktoriaCzech",
"email": "czech.wiktoria1@gmail.com"
}
}
},
"repository": {
"id": 609926521,
"node_id": "R_kgDOJFq9eQ",
"name": "PRTHub-front",
"full_name": "PRz-Racing-Team/PRTHub-front",
"private": true,
"owner": {
"login": "PRz-Racing-Team",
"id": 64755388,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzU1Mzg4",
"avatar_url": "https://avatars.githubusercontent.com/u/64755388?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/PRz-Racing-Team",
"html_url": "https://github.com/PRz-Racing-Team",
"followers_url": "https://api.github.com/users/PRz-Racing-Team/followers",
"following_url": "https://api.github.com/users/PRz-Racing-Team/following{/other_user}",
"gists_url": "https://api.github.com/users/PRz-Racing-Team/gists{/gist_id}",
"starred_url": "https://api.github.com/users/PRz-Racing-Team/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/PRz-Racing-Team/subscriptions",
"organizations_url": "https://api.github.com/users/PRz-Racing-Team/orgs",
"repos_url": "https://api.github.com/users/PRz-Racing-Team/repos",
"events_url": "https://api.github.com/users/PRz-Racing-Team/events{/privacy}",
"received_events_url": "https://api.github.com/users/PRz-Racing-Team/received_events",
"type": "Organization",
"site_admin": false
},
"html_url": "https://github.com/PRz-Racing-Team/PRTHub-front",
"description": "Frontend do projektu PRTHub ",
"fork": false,
"url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front",
"forks_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/forks",
"keys_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/teams",
"hooks_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/hooks",
"issue_events_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/issues/events{/number}",
"events_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/events",
"assignees_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/assignees{/user}",
"branches_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/branches{/branch}",
"tags_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/tags",
"blobs_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/statuses/{sha}",
"languages_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/languages",
"stargazers_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/stargazers",
"contributors_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/contributors",
"subscribers_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/subscribers",
"subscription_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/subscription",
"commits_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/contents/{+path}",
"compare_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/merges",
"archive_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/downloads",
"issues_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/issues{/number}",
"pulls_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/pulls{/number}",
"milestones_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/milestones{/number}",
"notifications_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/labels{/name}",
"releases_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/releases{/id}",
"deployments_url": "https://api.github.com/repos/PRz-Racing-Team/PRTHub-front/deployments",
"created_at": "2023-03-05T16:45:00Z",
"updated_at": "2023-03-05T16:52:09Z",
"pushed_at": "2023-03-10T08:05:38Z",
"git_url": "git://github.com/PRz-Racing-Team/PRTHub-front.git",
"ssh_url": "git@github.com:PRz-Racing-Team/PRTHub-front.git",
"clone_url": "https://github.com/PRz-Racing-Team/PRTHub-front.git",
"svn_url": "https://github.com/PRz-Racing-Team/PRTHub-front",
"homepage": null,
"size": 26755,
"stargazers_count": 0,
"watchers_count": 0,
"language": "JavaScript",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": false,
"has_pages": false,
"has_discussions": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 0,
"license": null,
"allow_forking": false,
"is_template": false,
"web_commit_signoff_required": false,
"topics": [
],
"visibility": "private",
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master"
},
"organization": {
"login": "PRz-Racing-Team",
"id": 64755388,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjY0NzU1Mzg4",
"url": "https://api.github.com/orgs/PRz-Racing-Team",
"repos_url": "https://api.github.com/orgs/PRz-Racing-Team/repos",
"events_url": "https://api.github.com/orgs/PRz-Racing-Team/events",
"hooks_url": "https://api.github.com/orgs/PRz-Racing-Team/hooks",
"issues_url": "https://api.github.com/orgs/PRz-Racing-Team/issues",
"members_url": "https://api.github.com/orgs/PRz-Racing-Team/members{/member}",
"public_members_url": "https://api.github.com/orgs/PRz-Racing-Team/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/64755388?v=4",
"description": ""
},
"sender": {
"login": "WiktoriaCzech",
"id": 103213435,
"node_id": "U_kgDOBibpew",
"avatar_url": "https://avatars.githubusercontent.com/u/103213435?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/WiktoriaCzech",
"html_url": "https://github.com/WiktoriaCzech",
"followers_url": "https://api.github.com/users/WiktoriaCzech/followers",
"following_url": "https://api.github.com/users/WiktoriaCzech/following{/other_user}",
"gists_url": "https://api.github.com/users/WiktoriaCzech/gists{/gist_id}",
"starred_url": "https://api.github.com/users/WiktoriaCzech/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/WiktoriaCzech/subscriptions",
"organizations_url": "https://api.github.com/users/WiktoriaCzech/orgs",
"repos_url": "https://api.github.com/users/WiktoriaCzech/repos",
"events_url": "https://api.github.com/users/WiktoriaCzech/events{/privacy}",
"received_events_url": "https://api.github.com/users/WiktoriaCzech/received_events",
"type": "User",
"site_admin": false
}
}
3.6.2 - Bot Discord
Wstęp
Heavily WIP.
Projekt zawiera stworzenie bota zespołowego na platformę Discord.
Przykładowe funkcje
- “Feature parity” z botem na Telegram.
- Po dołączeniu:
- Autoustawianie rangi członka po dołączeniu
- Informacja dla użytkownika na temat zmiany nazwy na imię i nazwisko na serwerze
- Informacje na temat regulaminu korzystania z serwera
- Dodanie szybkich skrotów do np.
- Napisanie wiadomości do wszystkich członków w Sekcji w celu przypomnienia o spotkaniu
- Planowanie spotkań na DS i przypominanie o nich 15 minut wcześniej w formie wiadomości prywatnej itp.