https://github.com/terrence-ou/bento-news
An AI-driven desktop News App, 1000x faster than Google News. Features everyday headlines, news management, and AI-assisted analysis.
https://github.com/terrence-ou/bento-news
electron huggingface openai-api react shadcn-ui typescript vite
Last synced: about 1 year ago
JSON representation
An AI-driven desktop News App, 1000x faster than Google News. Features everyday headlines, news management, and AI-assisted analysis.
- Host: GitHub
- URL: https://github.com/terrence-ou/bento-news
- Owner: terrence-ou
- License: agpl-3.0
- Archived: true
- Created: 2024-11-13T02:24:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-22T21:35:43.000Z (over 1 year ago)
- Last Synced: 2025-04-15T15:05:40.580Z (about 1 year ago)
- Topics: electron, huggingface, openai-api, react, shadcn-ui, typescript, vite
- Language: TypeScript
- Homepage: https://terrence-ou.github.io/Bento-News-Website/
- Size: 3.64 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Bento News - an AI-driven News App
1000+ faster than Google News, 3000+ reliable news source worldwide.
**Website**: https://terrence-ou.github.io/Bento-News-Website/
[](https://github.com/terrence-ou/Bento-News/actions/workflows/release.yml) [](https://github.com/terrence-ou/Bento-News/actions/workflows/test.yml)
## Revolutionalize your way of reading, managing, and analyzing news
- Bento News supports content from over **3,000 trusted media outlets worldwide**.
- Harness **AI-driven tools** to gain broader and deeper insights into your curated collection.
- Collect and organize the news as you prefer locally to **ensure your privacy**.
## Features
- **Curated Daily Headlines** \
We curate daily headlines in politics, economy, technology, science, and more to keep you informed about the fields you're interested in.
- **Instant Keyword Search** \
Search for news by keywords, dates, and fields, and get results instantly. Bento News supports searches in 10+ languages and across 3000 resources.
- **Local News Management** \
Mark, save, and organize news as you prefer to maximize its value. All file management happens locally to ensure your privacy.
- **AI-Assisted Analysis** \
Use AI tools to summarize collected news, predict trends, and provide suggestions on related topics to help you gain broader and deeper insights.
- **Cover Image Generation** \
Generate cover images based on your selected topics in multiple styles for your posts or essays to make your work more attractive.
## Tech Stack
| Category | Technology |
|---------------------------|---------------------------------------------------------------------------------------------|
| **Programming Language** | [TypeScript](https://www.typescriptlang.org/) |
| **Software Framework** | [Electron](https://www.electronjs.org/) |
| **Frontend Library** | [React](https://react.dev/) |
| **Build Tool** | [Vite](https://vite.dev/) |
| **State Management** | [Jotai](https://jotai.org/) |
| **UI and Styling** | [shadcn](https://ui.shadcn.com/), [Tailwind](https://tailwindcss.com/) |
| **Testing** | [Vitest](https://vitest.dev/), [Testing Library](https://testing-library.com/) |
| **Code Sign and Notarize**| [Electron-forge](https://www.electronforge.io/) |
## File Structure
```
├── .github/
│ └── workflows/ # CI/CD workflows for GitHub Actions
│ ├── release.yml # Workflow for releasing the app
│ └── test.yml # Workflow for running tests
├── resources/ # Additional resources for the app
├── src/ # Project source code
│ ├── main/ # Main process code
│ │ ├── lib/ # Libraries and utilities for the main process
│ │ └── index.ts # Entry point for the main process
│ ├── preload/ # Preload scripts
│ │ └── index.ts # Entry point for preload scripts
│ ├── renderer/ # Renderer process code (frontend)
│ │ ├── src/ # React code
│ │ │ ├── __test__/ # Unit and integration tests for renderer
│ │ │ ├── assets/ # Static assets for the renderer (images, fonts, etc.)
│ │ │ ├── atoms/ # Jotai atoms
│ │ │ ├── components/ # UI components
│ │ │ ├── hooks/ # Custom React hooks for reusable logic
│ │ │ ├── routes/ # Application routes and navigation components
│ │ │ └── utils/ # Utility functions and helpers
│ │ ├── App.tsx # Main React application component
│ │ ├── env.d.ts # TypeScript environment declarations
│ │ ├── main.tsx # Entry point for the renderer process
│ │ └── index.html # HTML template for the renderer
│ └── shared/ # Code shared between the main and renderer processes
├── .gitignore # Patterns to ignore in Git version control
├── components.json # Shadcn-ui component configuration
├── electron.vite.config.ts # Vite configuration for Electron
├── forge.config.cjs # Electron Forge build and publish configurations
├── LICENSE # License
├── package.json # Project meta and packages
├── package-lock.json # Dependency lock file
├── postcss.config.js # Configuration for PostCSS
├── README.md # Readme
├── tailwind.config.js # Tailwind CSS configuration
├── tsconfig.json # TypeScript configuration (general)
├── tsconfig.node.json # TypeScript configuration for Node.js
├── tsconfig.web.json # TypeScript configuration for the web
└── vite.config.mjs # Vitest configuration for the project
```
## FLUX model credits
Stippled - https://huggingface.co/dvyio/flux-lora-stippled-illustration \
Watercolor - https://huggingface.co/alvdansen/araminta-k-illustration \
Line Art - https://huggingface.co/dvyio/flux-lora-simple-illustration \
Cartoon - https://huggingface.co/blink7630/graphic-novel-illustration \
Kid Illustration - https://huggingface.co/ampp/rough-kids-illustrations