This is an image repository which has two main functionalities:
- Adding Image(s)
- User can only add
JPEG
,JPG
,PNG
,GIF
files - Private/public permissions -> when an image is uploaded, there should be a user information associated with the object.
- bulk images
- secure uploading -> GCP (Google Storage Bucket)
a) ensuring file has a name
b) ensuring file type is allowed
c) ensuring filename is allowed
d) ensuring filesize is allowed
- Deleting Image(s)
- One / bulk / selected / all images
- Prevent user deleting images from another user
- secure deletion of images
Workflow:
- Setup basic flask application
- Configure GCP
- Make a Image model
a) image_id
b) date_uploaded
c) file_name
d) blob_path
e) user_id - Store Firestore document for every file uploaded
- Implement Delete Functionality
a) single delete by ID
b) bulk delete - Incorporate user information into Firestore
- Check if user credentials match (uploaded image vs. Image they wish to delete)
- Unit tests**
- Documentation