Skip to content

galleryio is an image repository where users can upload image's pictures securely, delete their pictures, view the uploaded pictures (ordered by most recent uploads), view a user's uploads, view your profile (logged in user's profile) & uploads, leave comments or ratings on pictures.

License

Notifications You must be signed in to change notification settings

Jaishreebala/gallery.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gallery.io

galleryio is an image repository where users can upload image's pictures securely, delete their pictures, view the uploaded pictures (ordered by most recent uploads), view a user's uploads, view your profile (logged in user's profile) & uploads, leave comments or ratings on pictures.

PS: To view the website you need to log in to the system. You could use the demo credentials to login: username: [email protected], password: passw0rd, or register! :)

PPS: Please excuse the quality of the videos, something must have gone wrong in the video conversion process :/


Technologies Used:

  • MongoDB
  • Express
  • React
  • Node

View Images

  • Only logged in users can view images View All

  • View pictures uploaded by a user User Feed

  • View profile (images uploaded by the logged in user) View Profile

  • View A Specific Image along with it's comments & ratings View Profile

  • Search for images by tags. Search

  • Pagination implemented to limit the number of results per page to ten. This limit can be changed in the query if needed. Pagination

Upload Image

  • Secure image upload to the file directory Upload image

  • File type validated before upload for security reasons.

  • Image size can be a maximum of 5MB.

  • Image has description & tags.

Delete

  • Image Deletion Delete
  • Images can only be deleted by the creator of the image

Comments / Reviews

  • Users can not leave ratings/comments on their own image.
  • Aggregate all ratings on a picture to get total rating.
  • Filter out vulgar language in the comments.

Login, Security Features

  • Login

    Login

  • Register

  • Logout

  • Auth using JWT and Cookies

Developer Usage

  1. Clone this project from github.

  2. Run this command in the project terminal to install all the dependencies:

    npm install
    
  3. Navigate to db/config, create a config.env file, copy the below code into the file and add your own values to these varaibles (fill it out basically):

    PORT = 
    MONGO_URI = 
    JWT_SECRET_TOKEN = 
    JWT_EXPIRES_IN = 
    COOKIE_EXPIRES_IN = 
    IMAGE_UPLOAD_PATH = 
    IMAGE_MAX_SIZE = 
    IMAGE_PATH = 
    
  4. Start the backend server by running the following command in the project terminal.

    npm run dev
    
  5. Navigate to the client folder by running cd client in the project terminal. Run the following command:

    npm start
    
  6. Go to your favourite broswer (please don't tell me it's internet explorer xD) and go to http://localhost:3000 to use the project.

  7. Enjoy! :)

About

galleryio is an image repository where users can upload image's pictures securely, delete their pictures, view the uploaded pictures (ordered by most recent uploads), view a user's uploads, view your profile (logged in user's profile) & uploads, leave comments or ratings on pictures.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published