Skip to content

The Photo Gallery App is a Flask-based web application that allows users to securely manage and display their photo collections. It integrates functionalities such as user authentication, image uploading, and image retrieval, utilizing React for the frontend and MongoDB for the NoSQL database.

License

Notifications You must be signed in to change notification settings

eddayyy/PhotoGalleryApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Photo Gallery App 📸

Status Python Version Flask React JWT MongoDB License

Table of Contents

  1. Overview
  2. Features and Demo
  3. Setting up the Development Environment
  4. Usage
  5. License

🌟 Overview

The Photo Gallery App is a Flask-based web application that allows users to securely manage and display their photo collections. It integrates functionalities such as user authentication, image uploading, and image retrieval, utilizing React for the frontend and MongoDB for the NoSQL database.

Features and Demo

Feature 1: Landing Page

  • Description: Users are greeted with a landing page with a short description of the product and are able to navigate to the login and signup pages, respectively.

    • Screenshot:

      Feature 1 Screenshot

Feature 2: User Authentication

  • Description: Secure user authentication using JWT. Users can register, log in, and manage their sessions.

    • Screenshot:

      Feature 1 Screenshot

Feature 3: Image Upload

  • Description: Users can upload images, which are stored securely and associated with their account.

    • Screenshot:

      Feature 2 Screenshot

🛠️ Setting up the Development Environment

Follow these steps to set up your own instance of the Photo Gallery App:

  1. Clone the Repository:

    • Use the command git clone https://github.com/eddayyy/PhotoGalleryApp to clone the repository.
  2. Set up a Python virtual environment (Optional but recommended)

    # Install virtualenv if not installed
    pip install virtualenv
    
    # Create a virtual environment
    virtualenv venv
    
    # Activate the virtual environment
    # On Windows
    venv\Scripts\activate
    # On MacOS/Linux
    source venv/bin/activate
  3. Install required packages

    Install all dependencies listed in the requirements.txt file:

    pip install -r requirements.txt
  4. Run the application

    python app.py
  5. Set up the Front End

    Install ReactJS and navigate to /photogallery and in your terminal type:

    npm install # to install the dependencies

    Afterwards, in your terminal type:

    npm start # start the front end server

    to get the front end running. A browser tab will automatically be opened for you.

📄 Usage

After running the backend server, you can access the following endpoints:

  • Home: GET /
  • Register: POST /register/ - Register a new user.
  • Login: POST /login/ - Authenticate a user and issue a JWT.
  • Upload Image: POST /api/upload - Upload an image file.
  • Get Images: GET /api/images - Retrieve images for the authenticated user.

📄 License

This project is licensed under the MIT License - see LICENSE.md for details.

About

The Photo Gallery App is a Flask-based web application that allows users to securely manage and display their photo collections. It integrates functionalities such as user authentication, image uploading, and image retrieval, utilizing React for the frontend and MongoDB for the NoSQL database.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published