This project consists of several core services, each responsible for different functionalities. Below are the details for each service:
The Auth Service is a core component of the project, responsible for managing user authentication and authorization. It provides secure login, registration, and token management functionalities.
- User Registration: Allows new users to register by providing necessary details.
- User Login: Authenticates users based on their credentials and issues tokens.
- Token Management: Manages access and refresh tokens to ensure secure access to protected resources.
The Monitoring Service is a core component of the project, responsible for monitoring the health and performance of various services. It provides functionalities for collecting, storing, and analyzing metrics and logs to ensure the system operates efficiently and reliably.
Metrics Collection: Collects metrics from various services to monitor their performance and health. Log Aggregation: Aggregates logs from different services for centralized analysis. Alerting: Provides mechanisms to set up alerts based on predefined thresholds and conditions.
The Rental Recommender Service is a core component of the project, responsible for providing rental property recommendations based on user preferences and historical data. It leverages machine learning algorithms to analyze user inputs and generate personalized recommendations.
Data Collection: Gathers data from various sources, including user inputs and historical rental data. Data Processing: Cleans and preprocesses the collected data to ensure it is suitable for analysis. Recommendation Engine: Uses machine learning algorithms to analyze the processed data and generate rental property recommendations. User Feedback Loop: Incorporates user feedback to continuously improve the recommendation accuracy.
The Tracing Service is a core component of the project, responsible for tracking and monitoring the flow of requests through various services. It provides functionalities for tracing requests, collecting performance data, and identifying bottlenecks.
Request Tracing: Tracks the flow of requests through different services to provide a comprehensive view of the system's operation. Performance Data Collection: Collects data on the performance of various services, including response times and error rates. Bottleneck Identification: Analyzes the collected data to identify performance bottlenecks and potential issues.
- Python 3.8 or higher
- Docker (for containerization)
- Jenkins (for CI/CD)
- Clone the repository:
git clone https://github.com/yourusername/auth-service.git cd <service-name>
Install dependencies:
pip install -r requirements.txt
Run the application:
uvicorn app:app --host 0.0.0.0 --port 8000