Skip to content

Latest commit

 

History

History
194 lines (150 loc) · 8.54 KB

README.md

File metadata and controls

194 lines (150 loc) · 8.54 KB

Simple Social Media

Simple Social Media app with Home and Auth pages created using React library and {JSON} Placeholder API.

Website Live Link

Table of Contents

General Information

  • Simple Social Media app displays posts' data and comments provided from the API.
  • Technical assignment requested by Digitinary for the application of Frontend Developer position.

Task Description Provided By Digitinary

ReactJs Code Challenge Details:

  1. Create a new react application using material UI.

  2. Create a Login page and manage the use session without using 3rd party library. Users Endpoint => https://jsonplaceholder.typicode.com/users

  3. Create user posts page where to support: https://jsonplaceholder.typicode.com/posts

    • Retrieve all posts, the design should be as a card which contains the post contents, each post should have all comments under it with the same card.
    • Add post, an action at the top of the page, this should on a dialog to add a new post and immediately show it the posts page.
    • Delete post, should display a confirmation dialog only to confirm the deletion, the action should be on the post card itself.
    • Modify post, should open the same post dialog, the action should be on the post card itself.

Note: for more details about the APIs specs, please check https://jsonplaceholder.typicode.com

Technologies Used

Features

  • User can not access the posts page before login or signup.
Protected Routes Handler

  • User can login with his email "One of the existing in the API" in order to explore the posts.
Auth Page Login

  • User can signup with his email "Not existing in the API" in order to explore the posts.
Auth Page Signup

Prevent Signup with Existing Email

  • User can explore all posts with their comments.
Posts and Comments Cards

  • User can create a new post and see it directly.
Add Post Button and Dialog

  • User can modify only his posts.
Update Post Button and Dialog

  • User can delete only his posts.
Delete Post Button and Dialog

Demo Video

Full Demo Video

Setup

$ git clone git@github.com:yahiaqous/Simple-Social-Media.git
$ cd Simple-Social-Media
Simple-Social-Media git:(main)$ npm i
Simple-Social-Media git:(main)$ npm start

Features to be Added

  • Add pagination to the posts or request data based on user scrolling.
  • Add interactive styling and modern colors to the posts page.
  • Design and develop the Footer component.
  • Add "Return to Top" button.
  • Create loading component until fetching data.
  • Create API errors handler.
  • Translate the API data to English.
  • Create Dark mode button.

Acknowledgements

  • This project was inspired and requested by Digitinary.
  • This Auth Page Example inspired me with the page layout and design.
  • This Stack Overflow Answer helped me how to navigate to the page end.
  • This W3School Tutorial helped me how to manage the user session and cookies using Document object without 3rd parties.
  • This Tip for fixing the React Single Page Application deployed on Netlify.

Contact

Created by Yahia Qous - feel free to contact me!