/gh-jobs

A tool to help you find your next job.

Primary LanguageTypeScript

Project logo

gh-jobs


A tool to help you find your next job.

https://www.githubjobs.io/

πŸ“ Table of Contents

πŸ“ About

This application was originally created as a submission to a DevChallenges challenge. The challenge was to build an application to complete the following prompt

Challenge: Create a job search using an API. Use Front-end libraries like React or Vue. Don’t look at the existing solution. Fulfill user stories below:

  • User story: I can see a list of jobs in a city by default
  • User story: I can search for jobs with a given keyword
  • User story: I can search for jobs with a city name, zip code or other location
  • User story: I can select one option from at least 4 pre-defined options
  • User story: I can search for a full-time job only
  • User story: I can see a list of jobs with their logo, company name, location, and posted time.
  • User story: When I select a job, I can see job descriptions and how to apply like the given design.
  • User story: When I am on the job details page, I can go back to the search page
  • User story (optional): I can see a list of jobs in the closest city from my location by default
  • User story (optional): I can see jobs in different pages, 5 items each page

View my solution on DevChallenges.

⛏️ Built Using

Dependencies

  • @sendgrid/mail - The Official Twilio SendGrid Led, Community Driven Node.js API Library.
  • @sentry/react - Official Sentry SDKs for Javascript.
  • bcryptjs - Optimized bcrypt in plain JavaScript with zero dependencies.
  • chalk - Terminal string styling done right.
  • compression - Node.js compression middleware.
  • cookie-parser - Parse HTTP request cookies.
  • cors - Node.js CORS middleware.
  • date-fns - ⏳ Modern JavaScript date utility library βŒ›.
  • express - Fast, unopinionated, minimalist web framework for node.
  • jsonwebtoken - JsonWebToken implementation for node.js.
  • lodash.throttle - A modern JavaScript utility library delivering modularity, performance, & extras.
  • mongoose - MongoDB object modeling designed to work in an asynchronous environment.
  • morgan - HTTP request logger middleware for node.js.
  • node-fetch - A light-weight module that brings window.fetch to Node.js.
  • react - A declarative, efficient, and flexible JavaScript library for building user interfaces.
  • react-dom - A declarative, efficient, and flexible JavaScript library for building user interfaces.
  • react-error-boundary - Simple reusable React error boundary component.
  • react-redux - Official React bindings for Redux.
  • react-router-dom - Declarative routing for React.
  • react-toastify - React notification made easy πŸš€!
  • redux - Predictable state container for JavaScript apps.
  • redux-thunk - Thunk middleware for Redux.
  • styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress πŸ’….
  • validator - String validation.

DevDependencies

  • clean-webpack-plugin - A webpack plugin to remove your build folder(s) before building.
  • copyfiles - Copy files on the command line.
  • css-loader - CSS Loader.
  • cypress - Fast, easy and reliable testing for anything that runs in a browser.
  • env-cmd - Setting the environment from a file.
  • eslint - Find and fix problems in your JavaScript code.
  • eslint-plugin-react - React specific linting rules for ESLint.
  • html-webpack-plugin - Simplifies creation of HTML files to serve your webpack bundles.
  • prettier - Prettier is an opinionated code formatter.
  • rimraf - A rm -rf util for nodejs.
  • source-map-loader - Source map loader.
  • start-server-and-test - Starts server, waits for URL, then runs test command; when the tests end, shuts down server.
  • style-loader - Style loader.
  • ts-loader - TypeScript loader for webpack.
  • typescript - TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
  • url-loader - A loader for webpack which transforms files into base64 URIs.
  • webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
  • webpack-cli - Webpack's Command Line Interface.
  • webpack-dev-server - Serves a webpack app. Updates the browser on changes.

✍️ Authors

  • Alex Lee - Fullstack Application Developer