Skip to content

blueberry-101/Gallery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GALLERY

Not A Instagram Clone!

license last-commit repo-top-language repo-language-count

Developed with the software and tools below.

HTML5 Cloudinary Railway.app JWT Redis YAML Gunicorn
Celery Python Docker Django


Quick Links


Overview

Gallery is a Django-based project designed to provide a comprehensive platform for managing and displaying images. The project features a robust backend for handling image uploads, storage, and retrieval, along with a clean and intuitive frontend interface for users.

Screenshot 1 Screenshot 6 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5


Features

  1. Validators: Validate size and extension of posts. Ensure only valid image extensions are uploaded.
  2. Restrictions: Implement three restrictions: (a) Prevent overpopulation of images, (b) Limit rapid image uploads, and (c) Enforce size limits on images. Additionally, implementing a delete feature will erase associated files permanently.
  3. Cloud Storage: Moved from server-side storage to cloud storage using Cloudinary, providing scalable and reliable storage solutions.
  4. Background Processing: Utilize Django-Celery as a background worker and Redis as a message broker for asynchronous processing. Implement a mail system on SignUp to Gallery, first post on Gallery, and reset password, using Celery to reduce response time in email and image post.
  5. Notifications: Utilize the Messages Framework in Django to push toast notifications on various events such as image upload, image delete, and image size alerts.
  6. Model Relationship: Include preupload images to get users started. Utilize Model Relationships to assign users with preuploaded images.
  7. Authentication using JWT: Implement authentication using JSON Web Tokens (JWT) for SignUp and changing password token.

Fixes

  • Upload Bar: Add a upload bar for visulizing the image uploading.
  • Phone number: Add a phone number verification service using twillio etc.
  • Improve Performance: Optimize database queries and image processing for faster load times.
  • UI/UX Improvements: Revamp the user interface for a more modern and user-friendly experience.

Contributing

Contributions are welcome! Here are several ways you can contribute:

  • Submit Pull Requests: Review open PRs, and submit your own PRs.
  • Join the Discussions: Share your insights, provide feedback, or ask questions.
  • Report Issues: Submit bugs found or log feature requests for Gallery.
  1. Fork the Repository: Start by forking the project repository to your GitHub account.

  2. Clone Locally: Clone the forked repository to your local machine using a Git client.

    git clone https://github.com/blueberry-101/Gallery
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.

    git checkout -b new-feature-x
    
  4. Make Your Changes: Develop and test your changes locally.

  5. Commit Your Changes: Commit with a clear message describing your updates.

    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.

    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.

Once your PR is reviewed and approved, it will be merged into the main branch.

About

This repository is open for contributions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors