204 lines
4.3 KiB
Markdown
204 lines
4.3 KiB
Markdown
# System Architecture
|
|
|
|
## Core Services
|
|
|
|
### Top-Level Services
|
|
1. **AuthServiceApi**
|
|
- User authentication and authorization
|
|
- Token management
|
|
- Permission handling
|
|
|
|
2. **EventServiceApi**
|
|
- Event processing and management
|
|
- Event routing and handling
|
|
- Event validation
|
|
|
|
3. **ValidationServiceApi**
|
|
- Input validation
|
|
- Data verification
|
|
- Schema validation
|
|
|
|
## System Components
|
|
|
|
### AllConfigs
|
|
Configuration management for various system components.
|
|
|
|
| Category | Context | Dependencies |
|
|
|----------|----------|--------------|
|
|
| Email | configs, email_send_model | - |
|
|
| NoSqlDatabase | configs | - |
|
|
| Redis | configs | - |
|
|
| SqlDatabase | configs | - |
|
|
| Token | configs | - |
|
|
|
|
### Schemas
|
|
- SQL Alchemy schema definitions
|
|
- Data models and relationships
|
|
- Database structure definitions
|
|
|
|
### ApiLibrary
|
|
|
|
| Category | Description |
|
|
|----------|-------------|
|
|
| common | Error line number tracking |
|
|
| date_time_actions | DateTime handling functions |
|
|
| extensions | Password module and utilities |
|
|
|
|
### ApiServices
|
|
|
|
| Category | Context | Dependencies |
|
|
|----------|----------|--------------|
|
|
| Login | UserLoginModule | ApiLibrary, Schemas, ErrorHandlers, ApiValidations, ApiServices |
|
|
| Token | TokenService | Services, Schemas, ApiLibrary, ErrorHandlers, AllConfigs, ApiValidations |
|
|
|
|
### Services
|
|
|
|
| Category | Dependencies |
|
|
|----------|--------------|
|
|
| Email | ApiLibrary, Schemas, ErrorHandlers, ApiValidations, ApiServices |
|
|
| MongoDb | - |
|
|
| PostgresDb | - |
|
|
| Redis | - |
|
|
|
|
### ErrorHandlers
|
|
- ErrorHandlers: General error handling
|
|
- Exceptions: Custom exception definitions
|
|
|
|
### LanguageModels
|
|
- Database: Database-related language models
|
|
- Errors: Error message translations
|
|
|
|
### ApiValidations
|
|
- Custom: Custom validation rules
|
|
- Request: Request validation logic
|
|
|
|
## Testing Framework
|
|
|
|
### Test Categories
|
|
- AlchemyResponse pagination testing
|
|
- Redis function testing
|
|
- MongoDB function testing
|
|
- Validation testing
|
|
- Header testing
|
|
- Auth function testing
|
|
- Language testing
|
|
- Property definition testing
|
|
- SmartQuery testing
|
|
|
|
### Error Categories
|
|
- AlchemyError
|
|
- ApiError
|
|
- RedisError
|
|
- MongoError
|
|
- EmailError
|
|
- Validation[Pydantic]
|
|
|
|
## Alchemy Implementation Phases
|
|
|
|
1. **BaseAlchemyNeed**
|
|
- Session management
|
|
- Core functionality
|
|
|
|
2. **PlainModel**
|
|
- Basic model implementation
|
|
|
|
3. **FilteredModel**
|
|
- Filter functionality
|
|
|
|
4. **PaginatedModel**
|
|
- Pagination attributes
|
|
- Filter integration
|
|
|
|
5. **LanguageModel**
|
|
- Function retrieval
|
|
- Header management
|
|
|
|
6. **ResponseModel**
|
|
- Plain AlchemyClass
|
|
- Dictionary conversion
|
|
- Multiple response handling
|
|
|
|
## System Layers
|
|
|
|
1. **DependenciesLayer**
|
|
- External dependencies
|
|
- System requirements
|
|
|
|
2. **ApplicationLayer**
|
|
- Core application logic
|
|
- Business rules
|
|
|
|
3. **ServiceLayer**
|
|
- Service implementations
|
|
- API endpoints
|
|
|
|
4. **TestLayer**
|
|
- Test suites
|
|
- Test utilities
|
|
|
|
5. **DevLayer**
|
|
- Development tools
|
|
- Debug utilities
|
|
|
|
6. **RootLayer**
|
|
- Main directory
|
|
- Configuration files
|
|
- Documentation
|
|
|
|
## TODO Items
|
|
|
|
1. **Event Directory Structure**
|
|
- Move to ApiEvents
|
|
- Docker file integration
|
|
- Import organization
|
|
|
|
2. **MethodToEvent Renewal**
|
|
- Update implementation
|
|
- Improve flexibility
|
|
|
|
3. **Endpoint Configuration**
|
|
- Remove unnecessary fields
|
|
- Streamline configuration
|
|
|
|
4. **Middleware Organization**
|
|
- Consolidate into /TokenEventMiddleware/
|
|
- Standardize naming
|
|
|
|
5. **Code Cleanup**
|
|
- Remove ActionsSchemaFactory
|
|
- Remove ActionsSchema
|
|
- Move endpoint_wrapper to Middleware.wrappers
|
|
|
|
6. **Function Organization**
|
|
- Support sync/async functions
|
|
- Improve API function organization
|
|
|
|
7. **Directory Structure**
|
|
- Consolidate AllConfigs, ApiLibrary, ErrorHandlers
|
|
- Move to RootLayer
|
|
|
|
8. **Configuration Management**
|
|
- Update RouteFactoryConfig
|
|
- Update EndpointFactoryConfig
|
|
- Implement event validation interface
|
|
|
|
9. **Language Model**
|
|
- Review Schemas.__language_model__
|
|
- Update implementation
|
|
|
|
10. **Service Container**
|
|
- Review ApiServices
|
|
- Plan container migration
|
|
|
|
11. **Language Defaults**
|
|
- Add to config
|
|
- Implement ["tr", "en"] as default
|
|
|
|
## Notes
|
|
|
|
- Redis implementation needs RedisRow class
|
|
- Event validation needs database integration
|
|
- Consider containerization for ApiServices
|
|
- Review language model implementation
|
|
- Test coverage needs improvement
|