Admin Portal Overview - daddeJ/user-auth-microservices GitHub Wiki

๐Ÿ›ก๏ธ Admin Portal Overview

Purpose:
The admin-portal is a frontend web application designed for administrators to manage and monitor the microservices ecosystem (users, activities, logs, and configurations).

Project Path:
awesome-azure-microservices/admin-portal

Architecture Pattern:

  • SPA (Single Page Application)
  • Component-based architecture
  • Follows best practices for Angular (v17+)

๐Ÿงญ Features

Feature Description
๐Ÿ” Login / Logout Authenticated access using JWT
๐Ÿ‘ฅ User Management View, edit, or deactivate users
๐Ÿ“Š Activity Logs View logs from tracking-service
โš™๏ธ Service Monitor Monitor health/status of microservices
๐Ÿ› ๏ธ Admin Configurations Toggle flags, roles, or system settings

๐Ÿงฑ Frontend Stack

  • Framework: Angular v17+ (Standalone Components)
  • Styling: SCSS / Tailwind CSS (optional)
  • Routing: Angular Router with lazy-loaded modules
  • State Management: RxJS + Signals (for local state)
  • Testing: Jasmine & Karma (unit), Cypress (e2e)

๐ŸŒ API Integrations

API Endpoint Source Notes
Auth Service /api/auth For login and token validation
User Service /api/users Admin CRUD on users
Tracking Service /api/logs Fetch logs by user/date/type
Health Check API /api/health Microservices status and heartbeat

๐Ÿ” Authentication & Security

  • Uses JWT token stored in HttpOnly cookie (or local storage for dev)
  • Implements Auth Guard to protect admin routes
  • HTTP Interceptors to append Authorization headers

๐Ÿงช Testing Strategy

  • Unit Tests: Jasmine for components and services
  • E2E Tests: Cypress for login flow and admin actions
  • CI: Azure Pipelines run all test suites on PR

๐Ÿš€ Deployment

  • Containerized: via Docker and Azure App Service (Linux)
  • CI/CD: GitHub Actions and Azure Pipelines integrated
  • Environment Configuration: managed via environment.ts

๐Ÿ“Œ Sample Admin Use Cases

  • View login logs for all users in the last 7 days
  • Deactivate a suspicious user account
  • Toggle feature flags for staging environment
  • Monitor system uptime and retry failed logs