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: demogalleryio@gmail.com, password: passw0rd, or register! :)
PPS: Please excuse the quality of the videos, something must have gone wrong in the video conversion process :/
- MongoDB
- Express
- React
- Node
-
Pagination implemented to limit the number of results per page to ten. This limit can be changed in the query if needed.
-
File type validated before upload for security reasons.
-
Image size can be a maximum of 5MB.
-
Image has description & tags.
- 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.
-
Clone this project from github.
-
Run this command in the project terminal to install all the dependencies:
npm install
-
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 =
-
Start the backend server by running the following command in the project terminal.
npm run dev
-
Navigate to the client folder by running
cd client
in the project terminal. Run the following command:npm start
-
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.
-
Enjoy! :)