Repository navigation
Features
The Wall API offers a versatile set of functionalities designed to simulate large-scale construction processes programmatically. Each feature is carefully designed to ensure performance, scalability, and ease of use.
-
Sequential Construction:
The build simulation calculations are done in the main thread. -
Concurrent Construction:
Multiple wall sections are built simultaneously, leveraging threading and multiprocessing.
-
Swagger-UI:
An interactive web interface for exploring API endpoints and testing them directly. -
ReDoc:
A detailed, developer-friendly API documentation platform integrated into the project.
-
API Endpoints:
For creating, updating, deleting, and managing user accounts. -
Token-based Authentication:
Secure access to API endpoints, enabling personalized interactions.
-
Upload:
Easily upload JSON configuration files for wall configurations. -
List:
View all uploaded configuration files associated with your account. -
Delete:
Remove unused or obsolete configuration files securely.
-
Daily Progress:
Query the daily costs and material usage for each wall section on a given day. -
Overall Progress:
Retrieve a summary of total wall construction costs, either for a specific day or as a cumulative total at the project's completion.
-
Database Storage - PostgreSQL:
All relevant data, including user information, wall configurations, and construction progress, is stored in a robust database. -
In-memory Cache - Redis:
Speeds up frequently accessed data by using an in-memory cache, optimizing performance for repeated queries and operations.
-
Distributed Task Processing:
Heavy computations are processed in the background, with results available via a follow-up API request. -
Task scheduling:
Facilitates scheduling of tasks, allowing for periodic execution of archiving and cleaning jobs.
-
Rate Limits:
For authenticated and unauthenticated users. -
Scoped limits:
For specific functionalities like user and file management.
Next: Dependencies
Back to: Project Overview
📌 Notable Technical Sections
👤 Author
LinkedIn: Aleksandar Dimitrov
Yahoo: sasho_1983@yahoo.com