Skip to content

tuananhfr/instagram-MERN-typescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 

Repository files navigation

MERN Stack - Instagram MERN typescript

This is a full-stack social media application that allows users to create accounts, log in, and use various features such as uploading photos, following other users, liking and commenting on photos, sending messages, and video calling.

Features

  • Sign up: new users can create accounts by providing their full name,username, email address, and password.
  • Sign up: new users can create accounts by providing their full name,username, email address, and password.
  • Login with Facebook: users can also log in using their Facebook account.
  • Upload photos: users can upload photos and add captions to them.
  • Follow other users: users can follow other users to see their posts in their feed.
  • Like and comment on photos: users can like and comment on other users' posts.
  • Forgot password: users who have forgotten their password can request a password reset link.
  • Reset password: users can reset their password using a link sent to their email address.
  • Messages: users can send and receive private messages with other users.
  • Video call: users can make video calls with other users.
  • Notifications: users receive notifications for new messages, likes, and comments on their posts.
  • ...

Technologies Used

  • MongoDB: a document-oriented NoSQL database
  • Express: a web application framework for Node.js
  • React: a JavaScript library for building user interfaces
  • Node.js: a JavaScript runtime built on Chrome's V8 JavaScript engine
  • TypeScript: a statically-typed superset of JavaScript
  • Cloudinary: a cloud-based image management service
  • JWT: JSON Web Tokens for user authentication
  • Socket.io: a library for real-time web applications
  • Peer: a peer-to-peer video calling library
  • ...

Installation

  1. Clone the repository: git clone https://github.com/tuananhfr/instagram-MERN-typescript.git

  2. Navigate to the server directory: cd server

  3. Install server dependencies: npm install

  4. Build the project: npm run build

  5. Start the server: npm run dev

  6. Navigate to the client directory: cd client

  7. Install client dependencies: npm install

  8. Start the client: npm start

Usage

To use the app, open your web browser and go to http://localhost:3000. You should see the landing page with a navigation bar and a sign-up and log-in button. You can sign up for a new account or log in to an existing account.

After logging in, you will be taken to the home page, which displays a feed of posts from users you are following. You can click on a post to view it in more detail, like it, and leave a comment. You can also upload your own photos, view your profile, and edit your profile information.

To send messages or make video calls, click on the corresponding icons in the navigation bar. You can also view your notifications by clicking on the notification icon.

License

This project is licensed under the MIT License. See the LICENSE file for more information.