How aps31012005-prog/task_11_full_application_containerization works
This is a CIFAR-10 image-classification application: users upload an image in a Streamlit interface, which sends it to a Flask prediction API; the API preprocesses it, runs the trained CNN, and returns a class and confidence for display. The main dashboard also checks API health, and a separate prediction page provides another upload workflow. The README documents a two-container Docker Compose deployment, but deployment configuration is not mapped as product runtime behavior. The API and main dashboard are sampled; wiring for the separate page follows its sampled source.
Main entry points: flask_api.py Prediction Endpoint · app.py Classification Dashboard · 1_Image_Prediction.py Prediction Page · cifar10_cnn.keras Trained CNN
Components 8
Streamlit UI
- Classification Dashboard
app.py - Prediction Page
pages/1_Image_Prediction.py
Flask API
- Health Check
flask_api.py - Prediction Endpoint
flask_api.py
Model Inference
- Image Preprocessing
flask_api.py - CNN Inference
flask_api.py - Trained CNN
model/cifar10_cnn.keras
Other components
- User
Connections 11
- User → Classification Dashboard: uploads image
- User → Prediction Page: uploads image
- Classification Dashboard → Health Check: checks health
- Classification Dashboard → Prediction Endpoint: posts image
- Prediction Page → Health Check: checks health
- Prediction Page → Prediction Endpoint: posts image
- Prediction Endpoint → Image Preprocessing: processes image
- Image Preprocessing → CNN Inference: provides tensor
- CNN Inference → Trained CNN: loads model
- Prediction Endpoint → Classification Dashboard: returns JSON
- Prediction Endpoint → Prediction Page: returns JSON