/instagram-clone

A full stack Instagram clone, built using Rust (actix-web), Next.js, and MySQL

Primary LanguageRust

Instagram Clone - Full Stack

Overview

This is a full stack Instagram clone. It is built using Rust, sea_orm as ORM, and actix-web as the web framework. The database used is MySQL. The frontend is built using Next.js and TailwindCSS.

Deployment

At the moment, I only deployed the API. I deployed it using fly.io.

Features

These are the features that are currently implemented both in the API and the frontend.

  • User registration
  • User login
  • User logout
  • get user profile
  • update user profile
  • User profile delete
  • upload/update user profile picture
  • follow user
  • unfollow user
  • get followers
  • get following
  • create post
  • get post
  • get posts from following
  • delete post
  • update post
  • like post
  • unlike post
  • comment on post
  • delete comment
  • create story
  • get story
  • delete story
  • add post to favorites
  • remove post from favorites
  • get posts from favorites
  • add post to bookmarks
  • remove post from bookmarks
  • get posts from bookmarks

Getting Started

Prerequisites

  • Rust (I'm using 1.54.0)
  • MySQL (I'm using 8.0.33)
  • Node.js (I'm using 20.5.0)
  • Pnpm (I'm using 8.13.1)

Installation

  1. cd into the api directory, and follow the instructions in the README.md.