GithubHelp home page GithubHelp logo

matthewbub / coding-resource-finder Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ngoakor12/coding-resource-finder

0.0 1.0 0.0 1.44 MB

An easier way to find coding related topics and projects on the ACN syllabus. Built with React JS and Node JS.

Home Page: https://coding-resource-finder.ngoako.dev/

License: MIT License

JavaScript 68.39% HTML 5.18% CSS 26.38% Procfile 0.05%

coding-resource-finder's Introduction

Coding Resource Finder

An easier way to find coding related topics and projects on the ACN syllabus. Built with ReactJS and NodeJS.

Live project ๐ŸŒ

Setup locally ๐Ÿ”ง

Problem

I like ACN syllabus and the people behind it. I go there whenever I want to learn something new to see if there are any relevant resources I can use. The "problem" started when I noticed how searching resources required more clicks and I also had to use the default browser find feature(Ctrl+F). And, there is currently no way to save what resources I'm going through or planning to check out in the future. To solve these problems that only someone who visits the site frequently notices. I decided to clone the website, not the entire website but the data(links to the resources) to be precise. Then add features that I know would make my life smoother using the original website.

Tech stack

  • ReactJS - for the frontend
  • Context - global state management
  • React Router - Internal routing
  • JSDOM - web scraping
  • ExpressJS - API development

Features

  • Search for resources
  • Bookmark resources you are busy with or want to work on next
  • The website is keyboard navigate-able*
  • Fully responsive* *These are almost always expected, but hardly correctly implemented.

Challenges

  • Getting the resources data without an API - Overcame this by learning web scraping, getting the data and creating an API to query the data in a less painful way.

Lessons learned

  • Finding undocumented APIs. I learned about it too late in this case.
  • Using React Context for global state management.
  • Web scraping using JSDOM.
  • Deploying React frontends in a subfolder with GitHub Pages.
  • Serverside pagination.
  • Deploying NodeJS API in a subfolder using Heroku.
  • Persisting data in local storage in React.
  • Server-side and client-side pagination.

Screenshots

www ngoako com_coding-resource-finder_(myDevice highres desktop) www ngoako com_coding-resource-finder_(myDevice highres desktop) (1)

Local setup

Clone repo

git clone https://github.com/Ngoakor12/coding-resource-finder.git

Install backend dependencies(while in backend folder)

npm install

Run API

npm run dev

Install frontend dependencies(while in frontend folder)

npm install

Run frontend

npm start

coding-resource-finder's People

Contributors

ngoakor12 avatar jrberendt avatar

Watchers

 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.