MyPhotoApp – Full-Stack Photo Management Application

GitHub Repository: MyPhotoApp

Description:
MyPhotoApp is a full-stack photo management application that allows users to upload, view, and organize photos. Designed to be intuitive and responsive, the app provides a seamless user experience while leveraging robust backend support and modern frontend technologies.

Key Features:

  • Photo Upload & Management: Users can upload photos, view image details, and organize them effectively.

  • Secure Authentication: Implements secure login and session management to ensure data privacy and restricted access.

  • Dynamic User Interface: Built with responsive design principles for a smooth experience across devices.

  • RESTful APIs: Backend powered by Java with Spring Boot to handle CRUD operations efficiently.

  • Database Integration: Stores photo metadata and user data in a relational database for fast and reliable access.

Technologies Used:

  • Frontend: HTML, CSS, JavaScript, Bootstrap

  • Backend: Java, Spring Boot, REST APIs

  • Database: MySQL (or specify the database used if different)

  • Deployment: Configured for local hosting and deployment to cloud-based services

Challenges Solved:

  • Efficiently managed large-scale photo uploads with optimized backend handling.

  • Designed a scalable architecture to support multiple users simultaneously.

  • Integrated robust error-handling mechanisms to enhance user experience.

Installation Steps

  1. Clone the Repository:

    git clone https://github.com/fanik041/fullStackJava.git cd fullStackJava

  2. Set Up the Backend (Spring Boot):
    Ensure you have Java JDK (version 8 or higher) and Maven or Gradle installed. Navigate to the backend directory and build the project:

    cd backend mvn clean install # For Maven gradle build # For Gradle

  3. Configure the Database:

    • Install MySQL (or the database used).

    • Create a new database (e.g., fullstack_db).

    • Update the application.properties (or application.yml) file in the backend to reflect your database credentials:

      properties

      spring.datasource.url=jdbc:mysql://localhost:3306/fullstack_db spring.datasource.username=your_username spring.datasource.password=your_password

  4. Run the Backend Server:
    Start the Spring Boot application:

    mvn spring-boot:run # For Maven gradle bootRun # For Gradle

  5. Set Up the Frontend:
    Navigate to the frontend directory, and ensure you have a web server (like Node.js or a simple static server) to serve the files.

    cd frontend # Serve the static files using any method

  6. Test the Application:
    Open your browser and navigate to http://localhost:8080 (or the specified port) to access the application.

  7. Deploy the Application (Optional):
    Configure the project for deployment on platforms like AWS, Azure, or Google Cloud. Update environment variables and database credentials accordingly.

Note: Ensure that all dependencies are installed and the backend and frontend are properly connected during testing.