Hacktoberfest 2018 is underway! Join the developer community from gitconnected in working together to build a Hacker News clone for your Hacktoberfest project. Use your favorite frontend library (or follow along with our solution using React) and utilize the open source Hacker News API for your data.
Our community will be collaborating and working together to help everyone become a better developer. Join us if you're interested in learning web development.
What you're building
A Hacker News clone (in night mode!) using all open source technology. I used a Chrome Extension to distribute my solution, but you can use anything that you would like. Hosting a static version on GitHub pages is a great option.
Try it out: Download the Chrome Extension
Source code: View on GitHub
Collaborate
Join the #hacktoberfest channel in our community Slack.
What you'll learn
- React
- Redux
- Styled Components
- CSS Grid
- CSS Flex
- CSS Animations
- Connecting to an API
- Axios for network requests
- Redux middleware
- Create React App to bootstrap a project
- localStorage for persisting state
Step-by-step Tutorial
Written tutorial
Follow along and move at your own pace using the gitconnected tutorial.
Video tutorial
Getting Started
Run the completed project to understand what you're building
# Clone the project git clone
https://github.com/gitconnected/hacker-news-reader.git
# Install dependencies
npm install
# Start the project
npm run start
# Navigate to http://localhost:3000
To start your own, first initialize a new project. Our solution uses Create React App, but feel free to use anything you want, even static HTML.
Review the Hacker New API documentation. You will need the /topstories endpoint to get the list of the story IDs and the /item endpoint to get the data for each story individually
Finally, get your project in production. We chose to use a Chrome Extension, but you can host it in any manner than you wish. GitHub pages is a great option. The final solution should show a list of the top stories on Hacker News.
Join the Slack channel to collaborate and get help. This project can be difficult, so make sure you work on it with some friends!
Your Solution!
Send a message in our Slack or submit a GitHub link to opensource@gitconnected.com
We would love to see solutions using Vue, Angular, vanilla JavaScript, or anything else! Show off some advanced techniques such as server side render (SSR) or progressive web apps (PWA).