GetMeThere (или GetMe или Забери) - пет-проект для вызова такси.
- API: ASP.NET Core (.NET 9), EF Core 9, MySQL (Pomelo), SignalR, Serilog, JWT.
- Mobile: .NET MAUI (.NET 9) —
Mobile.Shared(Refit, SignalR.Client) +Mobile.Rider(пассажир) +Mobile.Driver(водитель), Mapsui для карт OSM.
- .NET 9 SDK.
- MySQL 8 (
server=localhost;user=root;password=...;database=taxidbлибо переопределить черезappsettings.Development.json/ env var).
JWT-ключ хранится только вне репозитория. Сгенерируйте сильный ключ (≥32 символа) и положите в user-secrets:
cd src/Services/GetMeThere.API
dotnet user-secrets set "Jwt:Key" "<your-32+-char-random-key>"Альтернатива — переменная окружения Jwt__Key. Без ключа API не стартует.
SQL-скрипт лежит в migrations/Mvp_AuthAndOrderState.sql (идемпотентный). Применить:
mysql -u root -p taxidb < migrations/Mvp_AuthAndOrderState.sqlUser.Password → PasswordHash старые байты пароля не пройдут bcrypt-verify — старые аккаунты пересоздать.
cd src/Services/GetMeThere.API
dotnet run
# Swagger: http://localhost:5000/swagger
# Health: GET /health
# SignalR: /taxiHub (?access_token=<jwt> для авторизации)- .NET 9 SDK + MAUI workloads (
android,ios,maccatalyst,maui-windows). - Для Android-эмулятора base URL API —
http://10.0.2.2:5000(см.Mobile.Shared/Configuration/AppConfig.cs).
cd src/Mobile
dotnet build Mobile.sln -f net9.0-android # все три проекта
dotnet build -t:Run -f net9.0-android Mobile.Rider/Mobile.Rider.csproj
dotnet build -t:Run -f net9.0-android Mobile.Driver/Mobile.Driver.csproj