Skip to content

AminuMado/instagram-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

275 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Star Wars World

🔗 Live preview:

View the project here! 👀

Summary

This was the final project for The Odin Project's JavaScript curriculum. The goal of the project is to build/re-create a functional social media platform with a backend. This project is closely modeled after instagram, it was made with the React JS Library, TypeScript and Firebase.

Features:

  • Signup/Login/Logout authentication
  • Create a profile
  • Post a picture
  • Like/Unlike pictures
  • Comment on pictures
  • Likes and comments update in realtime
  • Delete pictures posted

Demo GIF

Desktop

Built with

Technologies

  • HTML
  • CSS
  • TypeScript
  • React

Development & Tools

Javascript Framework

Libraries, extensions and tools

  • React Router - Router tool for React applications
  • Visual Studio Code - IDE
  • Npm - Package Manager
  • Webpack - Code bundler
  • Firebase's Firestore - Scalable, flexible NoSQL database for web, mobile and server development.
  • ESLint - A linter tool to standardize code
  • Prettier - Code formatter
  • Github Pages - Hosting
  • GH-Pages Deployment

Objectives & Outcomes

  • Interact with a NoSQL flexible database.
  • Design an application with a clean user interface.
  • Understand and integrate a Backend-as-a-Service (BaaS) provider in Firebase into the app.
  • Familiarize with Firebase's services, i.e Cloud Firestore, Firebase Auth.
  • Further improve React proficiency in functional components using Hooks.
  • Further improve Js knowledge using TypeScript.

Challenges

  • Using a database without joins and with request limits was a problem. If I were to redo the app now, I'd probably restructure each document so as to reduce calls.
  • Managing the stylesheets. I mostly separated concerns by component, but there's a lot of overlap that could have been fixed with more planning.

Future works

As on any project, there are always more things that I would like to implement that didn't make it to the final version you see live. This section lists a few of them for future me to pickup and add them.

  • Add followers and following funtionality.
  • Add direct messaging funtionality.

Author

👤 AminuMado

Thanks for checking out my project! Any & all feedback is appreciated!