Skip to content

KariMuhammad/medium-react

Repository files navigation

Intensive Medium Blog clone with React

you can see the demo here

Description

This project is a clone of the Medium blog website. It is a full-stack project that uses React for the front-end and Node.js for the back-end. The project is a single-page application that allows users to to many features e.g (read articles, create articles, and follow other users, etc...). The project uses a RESTful API to communicate between the front-end and back-end.

Technologies

  • React
  • Tailwind CSS
  • Node.js/Express
  • MongoDB
  • JWT
  • AWS S3

Deployed on Netlify

Features

  • Dark/Light Mode
  • User authentication (login, register, logout) + (Register / Login with Google)
  • Authorization (only authenticated users can create articles)
  • Create articles
    • Add images to articles (stored in AWS S3)
    • Rich text editor (using Editor.js) -Create Blog Page
    • Blog Page
  • Home page
  • Home Page
  • Search Page (User & Articles)
  • Search Page
  • Profile User (Follow, Unfollow, Edit Profile)
  • Profile User
  • Article Page (Like [done], Comment[almost done], Bookmark[working])
  • Comment on Article
  • Comment System
  • Read Article
  • Edit Article
  • Edit Article
  • List of articles
  • Settings / Dashboard
    • Change Password
    • Change Password with Errors
    • Change Password with Success
    • Update Profile Image
    • Upload Profile Image
  • Notification Page (Reply, Seen, Unssen) + Pagination
  • alt text
  • alt text
  • Blogs Management (Delete, Edit, View, Stats)
  • alt text
  • Pagination

Some Refactors

  1. Done Pagination for Comments and Show/Hide Replies [DONE]
  2. Props Drilling converted to Context API or Redux [] (I will use Redux)
TODO
  1. Replace returning whole replies for each comment with return as demand (lazy loading)
    1. when press 'load reply' button, then fetch replies from api (iam using eager loading now)

Some Bugs

  • Go back from "Save Draft", Editorjs doesn't show the content [solved]
  • When edit "draft blog" its content is not shown in the editorjs [solved]

About

a Rich Features Blog (Medium Clone) has many features (create, update, delete blogs), explore blogs, manage your blogs and drafts, interact with other blogs like (Comment, Like, Reply). You can update your profile and some settings. You’ll receive notifications when user interact with your blog

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages