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.
InstagramClone.mp4
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.
- Spring Boot: The main framework for building the backend.
- PostgreSQL: The database.
- AWS S3: For saving images
- React Native:
- Expo:
- TypeScript:
- 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.
-
Clone the repository:
git clone https://github.com/DennyRodrigues/InstagramClone.git cd InstagramClone
-
Set up PostgreSQL database.
-
Configure application properties: Update
src/main/resources/application.properties
with your database credentials. -
Run the Spring Boot application:
./mvnw spring-boot:run
-
Navigate to the frontend directory:
cd app
-
Install dependencies:
npm install
-
Start the Expo app:
expo start
-
Run the app on your device:
- Use the Expo Go app on your phone to scan the QR code displayed in the terminal.
- Backend (
/backend
): Contains the Spring Boot application code. - Frontend (
/app
): Contains the Expo and React Native code for the mobile app.