Skip to content

Simple Social Media app with Home and Auth pages created using React library and {JSON} Placeholder API. Assignment requested from Digitinary for Frontend Developer position.

Notifications You must be signed in to change notification settings

yahiaqous/Simple-Social-Media

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 [email protected]: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!

About

Simple Social Media app with Home and Auth pages created using React library and {JSON} Placeholder API. Assignment requested from Digitinary for Frontend Developer position.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published