Gateway مرکزی برای دسترسی به تمام سرویسهای فیتهاب
این Gateway با استفاده از Ocelot پیادهسازی شده و به عنوان یک نقطه ورودی واحد برای تمام سرویسهای فیتهاب عمل میکند. این Gateway مسیریابی درخواستها به سرویسهای مختلف را انجام میدهد و همچنین مسئول مدیریت CORS و احراز هویت است.
- ASP.NET Core 8
- Ocelot
- Docker
- Docker Compose
- Docker
- Docker Compose
- .NET 8 SDK (برای توسعه)
- کلون کردن پروژه:
git clone https://github.com/MehranRastgar/fithub-microservices.git
cd fithub-microservices/gateway
- اجرای اسکریپت ساخت و اجرا:
chmod +x build-and-run.sh
./build-and-run.sh
- ساخت تصاویر Docker:
# ساخت تصویر Identity Service
cd ../IdentityService
docker build -t identity-service:latest .
# ساخت تصویر Workout Service
cd ../WorkoutService
docker build -t workout-service:latest .
# برگشت به پوشه Gateway
cd ../gateway
- اجرای سرویسها با Docker Compose:
docker-compose up -d
GET /api/auth/{everything}
- دسترسی به APIهای احراز هویتGET /api/User/{everything}
- دسترسی به APIهای کاربر
GET /api/WorkoutProgram/{everything}
- دسترسی به APIهای برنامه تمرینیGET /api/WorkoutProgramGenerator/{everything}
- دسترسی به APIهای تولید برنامه تمرینیGET /api/ExerciseType/{everything}
- دسترسی به APIهای نوع تمرین
- تمام درخواستها از طریق Gateway عبور میکنند
- احراز هویت با JWT
- مدیریت CORS برای دسترسی از دامنههای مجاز
- اضافه کردن Rate Limiting
- اضافه کردن Caching
- اضافه کردن Load Balancing
- اضافه کردن Circuit Breaker
- اضافه کردن Monitoring و Logging
این پروژه تحت لایسنس MIT منتشر شده است.