https://github.com/pace11/readable
Simple News APP with integration using NYT (New York Times) API
https://github.com/pace11/readable
Last synced: 5 months ago
JSON representation
Simple News APP with integration using NYT (New York Times) API
- Host: GitHub
- URL: https://github.com/pace11/readable
- Owner: pace11
- Created: 2025-07-30T17:15:30.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-07-30T18:32:51.000Z (11 months ago)
- Last Synced: 2025-07-30T21:04:29.133Z (11 months ago)
- Language: CSS
- Size: 37.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
π READable
Simple News APP with integration using NYT (New York Times) API

## πΈοΈ Stack
- Reactjs + Typescript β
- Shadcn (UI Library) β
- Bun β
- Vite β
- Zustand (Store Management) β
- Tanstack Query (Client Data Fetching) β
- Tanstack Router (Filesystem Routing) β
- Github Actions and Docker (Deployment, Infra) β
## βοΈ Script
| Script Name | Description | Command |
| ----------------- | ---------------------------- | ------------------------- |
| `dev` | Start development server | `bun run dev` |
| `generate-routes` | Generate tanstack routes gen | `bun run generate-routes` |
| `build` | Build for production | `bun run build` |
| `preview` | Preview production build | `bun run preview` |
| `lint` | Lint codebase | `bun run lint` |
## π Features
- Keyword-based search functionality implemented β
- Suggestions appear while typing, sourced from extracted keywords in the API response β
- Users can bookmark articles, stored locally on browser using Zustand β
## βΆοΈ How to run
- Clone this repository
- Makesure you already install bun on globally
- Install dependency first with `bun install`
- Run development mode with `bun run dev`
## π How to deploy
- Branching Strategy with Git Flow
- First, Create new branch with prefix `feature_*` example `feature_bookmark`
- Open Pull Request and target merging branch is `master`
- Put the title and description and then please wait until finished reviewing
- Reviewing is finished, Merging `_feature_*` branch into `master` and deployment flow is ready to go π
- Flow Deployment πππ
1. Trigger GitHub Actions when push branch `master`
```yaml
on:
push:
branches:
- master
```
2. Setup Docker Buildx, Login Docker Hub, Build and Push to Docker Hub
```yaml
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and Push to Docker Hub
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/readable-app:latest
build-args: |
VITE_NEWS_API_URL=${{ secrets.VITE_NEWS_API_URL }}
VITE_NEWS_API_KEY=${{ secrets.VITE_NEWS_API_KEY }}
```
3. SSH to Production Server and Pull Latest Changes
```yaml
steps:
- name: SSH to Production Server and Pull Latest Changes
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: |
cd pace-app-neo
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/readable-app:latest
sudo docker compose up -d readable-app
```