Skip to content

Latest commit

 

History

History
102 lines (68 loc) · 2.5 KB

README.md

File metadata and controls

102 lines (68 loc) · 2.5 KB

InstagramClone

InstagramClone is a clone of Instagram with some of its core features, built with Spring Boot for the backend and an Expo app for the frontend. I built it to keep myself up to date with the expo ecosystem, and to also learn about Spring Boot.

Demo

InstagramClone.mp4

Table of Contents

Features

Currently, the app contains the following features:

  • Get Posts: View a feed of posts from users you follow.
  • Create Post: Upload and share photos with captions.
  • Follow Users: Follow and unfollow users to see their posts in your feed.
  • Notifications: Receive notifications for new followers and interactions with your posts.

Technologies Used

Backend

  • Spring Boot: The main framework for building the backend.
  • PostgreSQL: The database.
  • AWS S3: For saving images

Frontend

  • React Native:
  • Expo:
  • TypeScript:

Prerequisites

  • Java 17: Required to run the Spring Boot backend.
  • Node.js: Required to run the Expo app.
  • PostgreSQL: Required to run the database.
  • Expo CLI: For managing and running the Expo app.

Installation

  1. Clone the repository:

    git clone https://github.com/DennyRodrigues/InstagramClone.git
    cd InstagramClone

Running the Backend

  1. Set up PostgreSQL database.

  2. Configure application properties: Update src/main/resources/application.properties with your database credentials.

  3. Run the Spring Boot application:

    ./mvnw spring-boot:run

Running the Expo App

  1. Navigate to the frontend directory:

    cd app
  2. Install dependencies:

    npm install
  3. Start the Expo app:

    expo start
  4. Run the app on your device:

    • Use the Expo Go app on your phone to scan the QR code displayed in the terminal.

Project Structure

  • Backend (/backend): Contains the Spring Boot application code.
  • Frontend (/app): Contains the Expo and React Native code for the mobile app.