A powerful web application for managing and organizing screenshots using AI-powered analysis.
- Train and fine-tune CNN model for screenshot classification
- Handle data collection and preprocessing
- Integrate ML model with backend API
- Set up FastAPI backend and develop API endpoints
- Manage MongoDB Atlas database
- Implement authentication and integrate Google Photos API
- Design and develop React.js frontend interface
- Implement features (upload, category management, search, export, delete)
- Connect frontend with backend APIs
- Set up and maintain CI/CD pipeline
- Deploy application to Google Cloud Run
- Conduct end-to-end testing and optimize performance
-
Upload Screenshots
- Local storage upload
- Multiple file upload support
- Category selection during upload
-
View Screenshots
- Browse screenshots by category
- View classification information
- Display analysis results
-
Edit Categories
- Modify screenshot categories
- Add custom categories
- Delete custom categories
-
Content-based Search
- Text search using Google Vision API
- Label-based search
- Web entity search
-
Export Data
- Export as ZIP files
- Organized by categories
- Selective category export
-
Delete Screenshots
- Individual deletion
- Confirmation prompts
- Complete removal from storage and database
-
Statistics
- Category distribution
- Label frequency analysis
- Visual data representation
- Python 3.7+
- FastAPI
- Google Cloud Vision API
- Required Python packages:
fastapi uvicorn python-multipart google-cloud-vision
-
Clone the repository:
git clone [repository-url] cd smart-screenshot-manager
-
Install dependencies:
pip install -r requirements.txt
-
Set up Google Cloud Vision API:
- Create a Google Cloud project
- Enable the Vision API
- Set up service account credentials
- Update the credentials in the code
-
Run the application backend:
uvicorn app.main:app --reload
-
Run the application frontend:
cd screenshot-frontend npm run dev
-
Access the application:
http://127.0.0.1:8000 #backend http://127.0.0.1:5173/ #frontend
-
Registration/Login
- Create an account or login
- Access the dashboard
-
Upload Screenshots
- Click "Upload Screenshot"
- Select files
- Choose category
- Submit
-
Manage Screenshots
- View all screenshots
- Change categories
- Delete unwanted screenshots
-
Search and Export
- Use search for specific content
- Export screenshots by category
- View statistics
- User authentication required
- Secure session management
- Protected file storage
- API key security
- Fork the repository
- Create a feature branch
- Commit changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Cloud Vision API for image analysis
- FastAPI for the web framework
- All contributors and users