Skip to content

Asatyam/SocialNetwork

Repository files navigation

Front-end Repository
Back-end Repository

Social Network - A social media app

Social Network is an app to share posts and make friends. Some of the features of the website are:

  • Implement sign up and login through PassportJS
  • Use JWT for user authentication
  • Users can create posts
  • Users can add like posts and add comments to it.
  • Users can like posts as well as comments.
  • Users can add image to their posts
  • Users can send and accept other users' friend requests.
  • Home page shows all the posts shared by the user and their friends sorted by date.
  • User's profile page shows all the posts and friends of the user
  • User can update their profile, including adding and removing profile photos.
  • User can see all the posts liked by them.
  • Users can see all the recieved and sent friend requests.
  • Home page also shows 10 new users to make new friends.
  • Search for other users.

TECH STACK

  • MongoDB
  • ExpressJS
  • ReactJS
  • NodeJS
  • NextJS
  • CSS3
  • HTML5

Other important libraries

  • PassportJS for authentication
  • Mongoose as ORM for MongoDB
  • Multer and Cloudinary for uploading images
  • JWT for verifying user's identity
  • axios for calling APIs from the front-end
  • bcryptjs for hashing the password
  • CORS
  • dotenv for accessing environment variables
  • express-validator for verifying user inputs at the server side

Screenshots

Alt text Alt text Alt text Alt text Alt text Alt text## Social Network - A social media app

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.js. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.js.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.