- Grzegorz Matusewicz
- Julia Łopata
- Szymon Małota
- Damian Litewka
- Łukasz Antoniewicz
- Aleksander Kutycki
AliMed/
├── WebAPI/ # Backend .NET 9.0
├── deploy/ # Skrypty i konfiguracje wdrożeniowe
├── doc/ # Dokumentacja projektu
├── res/ # Zasoby statyczne (logo, grafiki)
├── src/ # Kod źródłowy (Frontend React)
├── test/ # Testy (E2E, SQL)
├── LICENSE
└── README.md
Kod źródłowy podzielony jest na WebAPI/ (Backend) oraz src/ (Frontend React). Wszystkie skrypty i pliki konfiguracyjne niezbędne do wdrożenia na serwerze znajdują się w deploy/. Zasoby statyczne, w tym logo projektu, trafiają do katalogu res/. Dokumentacja techniczna i wytyczne marki znajdują się w doc/.
Poniższe kolory tworzą podstawową identyfikację wizualną systemu AliMed. Stosuj je konsekwentnie w interfejsie oraz materiałach promocyjnych.
#1673b2– kolor przewodni interfejsu (nagłówki, przyciski podstawowe, linki aktywne).#4cb4e3– odcień uzupełniający dla stanów hover, ikon informacyjnych i elementów akcentowych.#acd045– akcent pozytywny, używany w komunikatach sukcesu oraz elementach potwierdzających działania użytkownika.
Dbaj o kontrast z tekstem, szczególnie na jasno-niebieskich tłach, aby zachować dostępność i czytelność interfejsu.
- Logo wykorzystuje krój Lunchtype24 autorstwa Stefana Wetterstranda.
- Lunchtype24 jest objęty licencją SIL Open Font License (OFL) w wersji 1.1.
- Szczegóły licencyjne oraz wytyczne dotyczące wykorzystania logo znajdują się w
doc/brand-guidelines.mdorazLICENSE.
doc/brand-guidelines.md— rozszerzone wytyczne identyfikacji wizualnej (logo, kolory, typografia).LICENSE— zestawienie licencji projektu i zasobów zewnętrznych (w tym Lunchtype24).
Zespół realizuje projekt polegający na stworzeniu internetowego systemu rejestracji pacjentów z wykorzystaniem wyłącznie darmowych usług i narzędzi chmurowych.
System został wdrożony w środowisku produkcyjnym Oracle Cloud Infrastructure (OCI) Always Free Tier.
- Dla pacjentów: Umożliwia zakładanie kont, umawianie wizyt, przeglądanie historii medycznej oraz zarządzanie danymi osobowymi.
- Dla personelu medycznego: Umożliwia przeglądanie listy pacjentów, potwierdzanie rezerwacji i aktualizowanie terminów wizyt.
AliMed to nowoczesna platforma medyczna zbudowana w architekturze klient-serwer, w pełni zoptymalizowana pod środowisko chmurowe Oracle Cloud Infrastructure (OCI).
graph TD
User([User Browser]) <--> |HTTPS / WSS| Nginx[Nginx Reverse Proxy]
subgraph Cloud ["Hybrid Cloud Infrastructure"]
subgraph OCI ["Oracle Cloud Infrastructure (Core)"]
Nginx <--> |Port 5056| API[".NET 9 Web API Service"]
Nginx <--> |Static Files| WebDir["/home/ubuntu/www (React App)"]
API <--> |Private Network| DB[(MySQL HeatWave DB)]
end
subgraph Alibaba ["Alibaba Cloud (Management)"]
Admin[Adminer DB Panel] -.-> |SSH Tunnel| DB
end
end
subgraph Automation ["CI/CD Pipeline"]
GH[GitHub Repository] -->|Action: Deploy| VM[OCI Ubuntu VM]
end
- Framework: React 19 + Vite
- Język: TypeScript
- Stylizacja: TailwindCSS
- Ikony/UI: @heroicons/react + Headless UI
- Internacjonalizacja: i18next (obsługa PL/EN)
- Komunikacja: Axios z interceptorami dla JWT
- Framework: .NET 9.0 Web API
- ORM: Entity Framework Core (Pomelo MySQL)
- Bezpieczeństwo: JWT Bearer Authentication + GitHub OAuth 2.0
- Logika: Serwisy domenowe, DTOs, Custom Middleware
- Haszowanie: PBKDF2 (Password-Based Key Derivation Function 2)
- Serwer: OCI VM.Standard.E2.1.Micro (Ubuntu 24.04.3 LTS)
- Baza Danych: MySQL HeatWave 9.5.2 (Managed instance w OCI)
- Web Server: Nginx (SSL via Certbot/Let's Encrypt)
- Process Manager: Systemd (zarządzanie usługą API)
Projekt wykorzystuje GitHub Actions do pełnej automatyzacji procesów budowania i wdrażania:
- Frontend Pipeline (
frontend.yml):- Automatyczne budowanie przy każdym pushu do gałęzi
main. - Synchronizacja zoptymalizowanych plików
dist/przezrsyncdo/home/ubuntu/www.
- Automatyczne budowanie przy każdym pushu do gałęzi
- Backend Pipeline (
backend.yml):- Kompilacja i publikacja paczki
.dotnet publish. - Deploy na VM i restart usługi
alimed-apiprzez SSH.
- Kompilacja i publikacja paczki
- Deploy Orchestration (
deploy.yml):- Zarządzanie sekretami i kluczami SSL w środowisku produkcyjnym.
Note: Zastosowano strategię Build Offloading. Ze względu na ograniczone zasoby maszyny produkcyjnej (ok. 1GB RAM), procesy budowania (
dotnet build,npm run build) są realizowane na runnerach GitHub Actions, a na serwer trafiają gotowe artefakty.
- Node.js 20+
- .NET 9.0 SDK
- MySQL 9.0+ lub dostęp do VPN/OCI
- Repozytorium:
git clone https://github.com/WSB-University-Problem-Based-Learning/AliMed.git - Konfiguracja:
- Uzupełnij
WebAPI/API.Alimed/appsettings.Development.jsondanymi bazy. - Uzupełnij
src/frontend/AliMed.Web/.envadresem lokalnego API.
- Uzupełnij
- Uruchomienie:
- Backend:
dotnet run --project WebAPI/API.Alimed - Frontend:
npm install && npm run dev(wsrc/frontend/AliMed.Web)
- Backend:
- Dashboard Produkcyjny: alimed.com.pl
- Dokumentacja API (Swagger): alimed.com.pl/api/swagger
- Schemat Bazy Danych: doc/database-schema.html
- Przewodnik Wdrożeniowy: deploy/DEPLOYMENT.md
- Tablica Kanban: GitHub Projects
- Main URL: https://alimed.com.pl
- Production API: https://alimed.com.pl/api/
- Health Check:
sudo systemctl status alimed-api
Grupowy projekt AliMed - 2026