-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
Illia Kotvitskyi edited this page Sep 8, 2024
·
4 revisions
Trendlink is a platform designed to facilitate social blogger search and help businesses with influencer marketing. It follows a monolithic architecture, separating the frontend, backend, and authentication components. The platform uses modern technologies such as React, ASP.NET Core, and Keycloak for user management.
- Technology: React, TypeScript
- Role: Manages the user interface and interactions with backend services via RESTful APIs.
-
Details:
-
State Management: Handled using React’s
useState
anduseEffect
, or a global state management library (e.g., Redux). - UI Components: Modular React components styled using Tailwind library.
-
State Management: Handled using React’s
- Technology: C#, ASP.NET Core
- Role: Handles business logic, API requests, and database interactions.
- Endpoints: REST API endpoints for CRUD operations related to bloggers, users, and cooperations.
- Database: Uses Entity Framework Core and Dapper to interact with the database.
- Technology: Keycloak
- Role: Provides centralized authentication using OAuth 2.0 and OpenID Connect, managing user identities.
- Technology: PostgreSQL database.
- Role: Stores data related to users, advertisements, cooperations and other.
- Technology: Docker
- Role: Uses Docker to containerize services, ensuring scalability and easier deployment.
- Docker Compose: Used to define multi-container applications, allowing for easy local development.
- User Request: A user interacts with the frontend via a web browser (e.g., searching for bloggers or managing cooperations).
- Frontend-Backend Interaction: The frontend sends HTTPS requests to backend API endpoints.
- Backend Processing: The backend processes the request, performs business logic, and interacts with the database.
- Response: The backend returns data, which the frontend displays to the user.
- Authentication: Keycloak secures access by validating user credentials and enforcing permissions.