SnapShare is a robust photo-sharing application designed to facilitate the seamless exchange of images among users. At its core, it's built on the high-performance FastAPI framework and boasts a RESTful API backend brimming with features. This application is not just a project; it's a showcase of modern web application development expertise, ready to be a part of your portfolio.
- Authentication: Securely implemented via JWT tokens. It supports multiple user roles, including regular users, moderators, and administrators.
- Image Operations: Users can upload, delete, and update image descriptions. Images are accessible via unique links.
- Tagging: Add up to 5 unique tags per image, with reusable tags across the application.
- Image Transformations: Powered by Cloudinary for advanced operations. Transform images, generate viewable links, and create QR codes.
- Commenting System: Users can comment on each image, complete with timestamps. Admins have moderation capabilities.
- User Profiles: Users can view and edit their profiles, highlighting their activity and contributions.
- Administration: Extended controls for administrators, including user management and content moderation.
- FastAPI
- PostgreSQL
- SQLAlchemy
- Cloudinary
- JWT for Authentication
To get a local copy up and running, follow these simple steps.
- Python Environment
- Poetry Package Manager
- Clone the repo:
git clone https://github.com/your-repo/snapshare-api.git
- Navigate to the project directory:
cd snapshare-api
- Initialize the project using Poetry:
poetry install
- Run the server:
uvicorn main:app --reload
For a detailed guide on how to use SnapShare, please refer to the documentation.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
Distributed under the MIT License. See LICENSE
for more information.
Feel free to reach out to any of our team members: