issues
search
GabrielEValenzuela
/
chatML
A web API exposing a neural network to detect duplicate entities in knowledge graphs. It uses API key authentication and rate limits requests based on client tiers (FREEMIUM, PREMIUM)
MIT License
0
stars
0
forks
source link
Project plan
#3
Open
GabrielEValenzuela
opened
1 month ago
GabrielEValenzuela
commented
1 month ago
Project Plan: Knowledge Graph Similarity Detection API
1. Project Initialization (Week 1)
Objective
: Define scope, set up the development environment, and prepare documentation.
Tasks
:
Define and confirm requirements and scope.
Set up project repository (e.g., GitHub).
Create initial project documentation (requirements, SRS).
Milestone
: Project requirements and repository setup completed.
2. API Structure and Authentication (Week 2)
Objective
: Design API structure, implement basic authentication, and validate client access with API keys.
Tasks
:
Design API endpoints and response structures.
Implement API key-based authentication.
Set up API key management for FREEMIUM and PREMIUM users.
Milestone
: Basic API endpoints and authentication working.
3. Rate Limiting (Week 2-3)
Objective
: Implement rate-limiting logic according to user type (5 RPM for FREEMIUM, 50 RPM for PREMIUM).
Tasks
:
Define rate-limiting rules and thresholds.
Implement rate limiting with Redis (or similar tool).
Handle responses for rate limit exceedance (HTTP 429).
Milestone
: Rate-limiting functionality fully integrated and tested.
4. Model Integration (Weeks 4-5)
Objective
: Load and integrate the neural network model for similarity detection.
Tasks
:
Configure model for API service (loading and inference function).
Develop the
service
endpoint for model-based scoring.
Format response JSON with similarity score and duplicate status.
Milestone
: Neural network model integrated with API, basic endpoint functional.
5. Database and Logging Setup (Weeks 4-5)
Objective
: Set up database for API keys, accounts, and request logging.
Tasks
:
Implement secure API key storage (e.g., encrypted).
Log request details (client, timestamp, result) for monitoring and security.
Milestone
: Database and logging system functional.
6. Error Handling and Response Validation (Week 2-3)
Objective
: Implement error handling and response validation for robustness.
Tasks
:
Add custom error messages for common issues (401, 429, 400, 500).
Implement data validation checks for incoming requests.
Test response formats and error handling.
Milestone
: Error handling and validation procedures complete.
7. Testing (Weeks 7-8)
Objective
: Ensure robust functionality through unit, integration, and load testing.
Tasks
:
Unit testing of core functions (authentication, rate limiting, model scoring).
Integration testing of endpoints and API key validation.
Load testing under FREEMIUM and PREMIUM limits.
Security testing (e.g., API key security, input validation).
Milestone
: Testing completed, API ready for production.
8. Deployment Preparation (Week 8)
Objective
: Prepare the API for deployment, including security and CI/CD setup.
Tasks
:
Set up Docker for containerized deployment.
Configure HTTPS for secure API access.
Handle the docker deployment with Traefik for example if possible
Milestone
: Deployment pipeline and security measures in place.
9. Documentation and Handover (Week 1-8)
Objective
: Finalize documentation and prepare API for client integration.
Tasks
:
Complete API documentation for client usage.
Finalize developer documentation (codebase overview, deployment guide).
Conduct final review and hand over the API to platform team.
Milestone
: Documentation completed, project handover.
Project Plan: Knowledge Graph Similarity Detection API
1. Project Initialization (Week 1)
2. API Structure and Authentication (Week 2)
3. Rate Limiting (Week 2-3)
4. Model Integration (Weeks 4-5)
service
endpoint for model-based scoring.5. Database and Logging Setup (Weeks 4-5)
6. Error Handling and Response Validation (Week 2-3)
7. Testing (Weeks 7-8)
8. Deployment Preparation (Week 8)
9. Documentation and Handover (Week 1-8)