GithubHelp home page GithubHelp logo

deepak-gupta99 / reddit-mini Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sashacozub/reddit-mini

0.0 0.0 0.0 1.32 MB

Light version of reddit.com made as a portfolio project from Codecademy.com

Home Page: https://reddit-mini-sc.netlify.app/

JavaScript 58.11% CSS 38.63% HTML 3.26%

reddit-mini's Introduction

redditMini

This is a light version of Reddit made as a final portfolio project for Frontend Developer path from Codecademy.com.

  • Live demo can be found here.

Project's aim

Tha aim of this project was to solidify knowledge and practice in building an app with React, React Router and specifically Redux and Redux Toolkit.

App description

This app was created using a simple version of Reddit JSON API that does not require an OAuth workflow. It has a limited functionality, but it does not require any API keys to be used, which allowed me to focus on the main reason of the project - create an app that uses Redux for global state management.
This application fetches a predefined list of subreddits(categories) that the user can choose to see the posts from. After loading the selected subreddit, the user then can choose to open any specific post and the comments for that post will be fetched, along with some extra information: post rating, author, post date.

Technologies Used

  • ReactJS with Hooks
  • React Router V6
  • Redux / Redux Toolkit
  • Javascript
  • AJAX
  • HTML5
  • CSS3

Screenshots

Project Status

The first version of the project is complete, all the main features are up and running. Due to limitations of the API used, I have yet to discover some way to adjust images and videos for performance improvement, if possible.

Room for Improvement

Potential improvements:

  • The app performace could be improved by adjusting the media content sizes in order to reduce the amount of data needed to download.
  • As one of the solutions for the first point is to implement a so called infinite scroll in order to fetch limited amount of data first and then load in more when scrolling down the page.

To do:

  • Add a different functionality for "comments" button in order to load in the comments without opening the post on a separate page.
  • Change "Search" field to look for the searched term from the whole website instead of just currently loaded posts.
  • Add an animation, "skeleton" for the data that is being fetched instead of boring "Loading..."

reddit-mini's People

Contributors

sashacozub 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.