Skip to content

A Codecademy Portfolio Project. I decided to lean into the limited nature of the Reddit JSON API and make this a bit annoying to use! I'll be honest, I got a little gassed by the time I got to working on the mobile breakpoints, but I will likely come back in the future and clean them up!

Notifications You must be signed in to change notification settings

nmiller15/bottleneck-reddit-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Group 12

Bottleneck Reddit Client

Front-End Development Portfolio Project Codecademy Full-Stack Developer Professional Certification

Description

Bottleneck is a Reddit Client that leans into the API limitations that Reddit has implemented. This project only uses the JSON API, but mocks some of the requests that would be made by a client to the normal API and it... bottlenecks you. All the data is pulled from Reddit, and the app allows you to view content from a selection of subreddits, view and interact with the comments and even provides an email link to Reddit support if you would like to make your voice heard.

What I Learned

  • Redux - This is the first project I've managed complex state in using Redux!
  • Project Planning in React - If I could have done this one over again, I would have defininetly tackled some of these things in a different order. For one thing, I waited to implement state until much of the UI was completed, and this wasn't a great idea. I really should have just done it up front.
  • Separation of Concerns - This concept is certainly not perfectly implemented here... but, concerns are much more separated than they were at the beginning of the project. When I started, I wanted my components to be large and inclusive sections, it wasn't until I implemented the fetch APIs that I realized why it is beneficial to segment the application into the smallest components possible.
  • When to stop wasting time - I worked on this project for 3 weeks, and if this was a project that I was passionate about completeing, that wouldn't be an issue, however, this was primarily a project that I built to reinforce front-end development concepts, namely React and Redux working together. I'm going to be honest, there's a lot about this application that I would still like to clean up, but I feel like I've learned what I could from this project already. It is always hard for me to put something down when it's not perfect, but I learned a ton doing this project, a ton that I will carry into the next project I work on!
  • The Value of Pull Requests - On a solo project, it's so easy to get out of the habit of creating pull requests, branching, or even committing your code. Isn't that all for collaboration? No! I actually had a huge part of my project somehow disappear on me, and because my project was so thoroughly documented and version controlled, I was very quickly able to go back through my pull requests and find a commit that fixed my issue. After rebasing, I was back off to the races. Plus, creating my own PRs helped me catch lots of bugs or unneccesary code before it was merged into the main branch. If you want to see the early iterations of the project, I have pictures and videos of the beginning of development all documented in the closed pull requests in this repo

Technologies

  • ⚛️ React - This project was bootstrapped using create-react-app
  • ✳️ Redux
  • 🐈‍⬛ Git and Github - Obviously, but this is the first project I really used it effectively on.

How To Use

I've deployed this application on Netlify. Here's the link! https://bottleneckreddit.netlify.app

License

Copyright 2024 Nolan Miller

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

A Codecademy Portfolio Project. I decided to lean into the limited nature of the Reddit JSON API and make this a bit annoying to use! I'll be honest, I got a little gassed by the time I got to working on the mobile breakpoints, but I will likely come back in the future and clean them up!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published