Giter Site home page Giter Site logo

adidoshi / social-media-frontend Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 12.09 MB

Social media MERN web App!

Home Page: https://splashsocial.netlify.app

HTML 1.71% CSS 17.48% JavaScript 80.81%
context-api usereducer dark-theme reactjs react-moment cloudinary-api vanilla-css flexbox emoji-picker

social-media-frontend's Introduction

Social Media MERN stack Application

Tech Stack -

  • React Js
  • Context API (passing data throughtout the app) + use Reducer hook for application state management.
  • Styling - Pure Vanilla CSS, MUI Icons

Backend -

NodeJs + ExpressJs + MongoDB

Repository | Postman Doc


Core Functionalities -

Light and Dark Theme mode:

  • User can toggle between light and dark mode (by default light). Achieved by context API.

image info

User Authenication :

  • Complete user authentication with JWT token and protected routes.
  • Formik and YUP validation for register and login forms.

Feed / Timeline :

  • Home/ timeline screen wherein user followers post and self posts are displayed.
  • When the post was created is available on each post.

image info

Share a post :

  • User can share a post which get's updated in real time data. User can upload a picture which get's uploaded to cloudinary and that url get's stored in DB. User can add an emoji to its description. Also add a location by selecting from dropdown.

image info

User/ friend profile page -

  • Posts of respective user and their information is visible on profile page. Also profile picture & cover picture is seen.

image info

Edit profile page -

  • User can edit profile details like about me, city, username & upload profile picture, cover picture which get's uploaded to cloudinary.

image info

Follow/ Unfollow an user -

  • When user follows another user, they can view that users posts on timeline & get's added to their following's list & vice versa.
  • When unfollowed that user get's removed from the respctive user's followings's list.

image info

Like a post -

  • Logged in user can like a post (count increases) (1 like per user), if a post is already like by the user, it can be disliked (the count reduces).
  • Real time likes count is updated on the app.

Comment on a post -

  • Logged in user can post on a comment (only once), second time it get's edited.
  • Comments for each post can be viewed at the bottom of the post card.

image info


Made with ❤️

by adidoshi

social-media-frontend's People

Contributors

adidoshi avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.