Aplikacja webowa pozwalająca użytkownika na wymianę treści oraz ich wyszukiwanie na podstawie predefiniowanych przez moderatorów kategorii oraz tworzonych przez użytkowników tagów. Publikowane treści mogą zawierać multimedia tj. zdjęcia, a treść tekstową można edytować w "bogaty" sposób (docelowo markdown).
- gość
- moderator
- Student/Użytkownik zalogowany
- Użytkownik może utworzyć konto
- Użytkownik może zweryfikować swoje konto w celu dostępu do większej ilości akcji w portalu
- Użytkownik może edytować dane swojego konta
- Zalogowany użytkownik może dodawać posty składające się z maksymalnie jednego obrazu i tekstu.
- Użytkownik tworzący post może do niego dodać odpowiednie tagi pomagające w jego wyszukiwaniu
- Strona posiada predefiniowane kategorie np. („W4”, „Humor”). Które będą widoczne z poziomu strony głównej.
- Użytkownik może przeglądać posty. Filtrować je na podstawie targów, kategorii, i czasu dodania. Sortować na podstawie polubieni i czasu dodania
- Każdy post może być „plusowany” bądź „minusowany” przez zalogowanego użytkownika co będzie wpływało na jego pozycjonowanie w połączeniu z czasem
- Zalogowany użytkownik może dodawać komentarze do każdego postu
- Użytkownik może wyszukiwać posty za pomocą frazy (opcjonalne)
- Moderator może blokować określone posty
- Moderator może nakładać blokady czasowe na określonych użytkowników.
- Możliwość wyboru motywów kolorystycznych dark i light
- React
- Next.js
- TailwindCSS
- DaisyUI
- Java
- Spring, Sbring Boot, Spring Security
- JWT
- Hibernate
- MySQL, SQL
- Azure Blob Storage
- Hosting Vercel, Azure
- Docker
- Instalacja Docker (https://docs.docker.com/desktop/install/linux-install/)
- W pliku docker-compose.yaml znajdującym się w folderze głównym aplikacji wprowadzamy odpwiednie wartości dla:
- AZURE_BLOB_ACCOUNT_KEY - klucz do konta Azure Blob
- AZURE_BLOB_ACCOUNT_NAME - nazwa konta Azure blob
- AZURE_BLOB_CONTAINER - nazwa konterera na multimedia
- AZURE_BLOB_ENDPOINT - endpint serwisu Azure Blob
- MYSQL_HOST - adres hosta bazy MySQL
- DB_NAME - nazwa bazy danych
- DB_PASS - hasło bazy danych
- DB_USER - urzytkownik bazy danych
- GMAIL_USER GMAIL_PASS - konto pocztowe używane do mailingu
- JWT_KEY - klucz prywatny używany do tworzenia tokenów JWT
- AUTH_SERVICE_URL; DATA_PROVIDER_URL - adres hosta aplikacji backendowej (lokanie nic nie trzeba zmieniać)
- Zbudowanie dockerowych obrazów oraz uruchomienie
# budowanie obrazu
docker compose build
# uruchomienie
docker compose up -d
- Domyśle parametry uruchamiają aplikację frontendowom na adresie
localhost:3000