Skip to content

koloyyee/MorningBriefing-frontend

Repository files navigation

Start my day with Morning Briefing

Why?

Morning Briefing is an app for my morning reading routine, every morning I will read some financial news to start my day, but rather than going to 4-5 sites to find the news I want to read, having a person new aggregator seems to be a great challenge and fun project to work on.

Challenges

Types

Since I am using Typescript there are lots of interfaces and types I need to declare, and I start to understand how to declare types and shapes for different data and have a correct interface for each.

CSS

I choose not to use any CSS library, but only a bit of help from MUI, I also take the chance to practice CSS Grid, it is one of the great challenges for me, and part of the reason why I decided not to use any CSS library but grasping the fundamental knowledge is the most important.

API

Since the API is freemium version, there are numbers of endpoints I can use, currently fetching the latest headlines, while moving forward I will allow users to fetch different data with different query.

Pagination

My original plan was to use infinite scroll, however, due to the limitation of the endpoint I decided to use pagination to separate 100 articles into numbers of pages.

Data Source

Currently, this is an app based on fetching data from public API, and moving forward there will be a custom backend for fetching my personal choice of news sources.

Tech Stack

  • Vite
  • React
  • Typescript coming soon: Jest