Instagram clone. Allows to share, view, like, and comment photos.
Technologies and packages used:
- ReactJS (with create-react app)
- React Router DOM
- React Helmet
- Material UI
- Node.js v12.16.3
- Firebase Authentication
- Firebase Database
- Firebase Storage
Clone this repo on your local machine from https://github.com/tdrv90/simple-instagram.
npm install
npm start
and open http://localhost:3000 in your browser.
The app has a public part (accessible without authentication) and private part (available for registered users)
- Guest Home Page: static page with, renders header with links to Posts / Sign In and Sign Up pages.
- Posts Page: the guest can see posts from registered users, but cannot comment or like them.
- Sign In Page: the user can authenticate with their profile
- Sign Up Page: the guest can register an account with the profile name, email, and password
-
Home Page: once the user has authenticated the Guests Home Page is not visible for them and it redirects to '/posts'
-
Posts Page: the user can see all available posts ordered in descending view (the latest posts are on top) and can comment on them. There is Likes functionality available for authenticated users. Liked posts can also be unliked which will remove the like from the logged user.
-
My Posts Page: this page shows the posts only from the logged user. Also, it provides functionality to delete your posts.
- Add Post Page: this is the page from where new posts are added. To add a new post the user must write a caption and select a photo.
- Profile Page: provides basic profile details (username and email), functionality to change the user password, and image upload module to add a profile photo.
- Logout Page: Logouts the user and redirects to Guest Home Page
You can check the live version here:
https://simple-instagram-4f24f.web.app/
MIT