A REST API built with Go that provides a secure way to manage and share images by automatically detecting and obscuring faces. Features a hashtag-based organization system and Firebase integration.
- Automated face detection in images
- Face obscuring capabilities with temporary and permanent options
- Post management with hashtag categorization
- Role-based access control (Admin/User)
- Real-time notifications using Firebase Cloud Messaging
- Asynchronous image processing using Cloud Tasks
- Go 1.22
- Gin Web Framework
- Firebase Admin SDK
- Cloud Vision API (for face detection)
- Cloud Storage
- Cloud Firestore
- Cloud Tasks
- Cloud Logging
- Imaging library for Go
- ExifTool integration
GET /api/posts
- Retrieve postsGET /api/posts/byHashTags/:hashTags
- Get posts by hashtagsPOST /api/posts
- Create new post (Admin)DELETE /api/posts
- Delete post (Admin)
GET /api/images
- Get imagesPOST /api/images
- Upload images (Admin)DELETE /api/images
- Delete images (Admin)DELETE /api/images/deleteTemp
- Clean temporary imagesDELETE /api/images/deleteUnused
- Clean unused images
GET /api/faces/overlay
- Get face overlay dataPOST /api/faces/overlay/obscured
- Create permanent face obscuringPOST /api/faces/overlay/obscured/temp
- Create temporary face obscuringDELETE /api/faces/overlay
- Delete face overlays
GET /api/hashTags
- Get all hashtagsGET /api/hashTags/topScored
- Get trending hashtagsPOST /api/hashTags
- Create hashtags (Admin)DELETE /api/hashTags
- Delete hashtags (Admin)
- Firebase Authentication
- Admin role verification middleware
- Secure image processing pipeline
- Temporary and permanent face obscuring options