Skip to content

JoshFung/Reedr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Title Mockup

Extra Mockup

Table of Contents

  1. What is Reedr?
  2. Built With
  3. Getting Started
  4. What's Next?

What is Reedr?

Reedr is an alternative reader for Hacker News that is designed to be used on mobile, tablets as well as laptops / desktops.

Specifically designed for quick reading, it makes use of a side feed and reader view to allow users to quickly browse through articles. Furthermore, cascading comments allow readers to skip over filler comments and dive deeper into insightful discussion.

(Back to Table of Contents)

Built With

  • Typescript
  • React
  • Redux
  • Express
  • Axios
  • CSS3
  • Github Actions
  • Docker
  • AWS-ECR
  • AWS-App-Runner

Frontend built using Typescript, React and Redux.

Backend built using Typescript, Express and Axios.

CI/CD pipeline built using Github Actions.

Deployed using Docker, AWS Elastic Container Registry (ECR) and AWS App Runner.

(Back to Table of Contents)

Getting Started

Accessing Reedr

You can directly access Reedr through the following link: reedr.joshfung.dev

Running Reedr Locally (with Docker)

  1. Make sure you have Docker installed
  2. Open a terminal in the root directory and run the following command to build the images:
docker compose -f ./compose.yaml build --build-arg API_URL="http://host.docker.internal:8000"
  1. In the same terminal, after the prior command is done running, run the following command to start the containers:
docker compose up -d
  1. To stop the containers when you're done, you can run the following in the terminal:
docker compose down

(Back to Table of Contents)

What's Next?

The following are extra features I have considered implementing next:

  • Lockdown the backend
    • Rather than leaving it publicly accessible, I would like to make it such that only the frontend can access the backend (opted to skip for now as there is no sensitive data nor authentication)
    • Make use of VPCs and Security Groups to restrict access to the backend
    • Reverse proxy so client goes through frontend to access backend
  • Improve styling
    • More nitpicking that anything, but I would like to improve the styling of the app
    • Comments that make use of markdown COULD be styled better to show it's markdown
    • Links within a comment should be aggregated somewhere in the comment for easier access and organization
    • Clean up CSS 😔
  • Improve fetching / render times
    • Currently, the app fetches each story and comment individually (due to Hacker News' current API design) -- Could investigate more into this

(Back to Table of Contents)

About

An alternative HN reader

Resources

Stars

Watchers

Forks