Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ivanrj7j/newstok
A tiktok like app that lets you scroll through the articles
https://github.com/ivanrj7j/newstok
Last synced: 10 days ago
JSON representation
A tiktok like app that lets you scroll through the articles
- Host: GitHub
- URL: https://github.com/ivanrj7j/newstok
- Owner: ivanrj7j
- License: apache-2.0
- Created: 2023-12-24T14:40:00.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2023-12-26T16:06:47.000Z (11 months ago)
- Last Synced: 2023-12-27T17:09:26.999Z (11 months ago)
- Language: Python
- Size: 426 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# NewsTok
## Overview
NewsTok is a web-based application developed using Flask, offering users a TikTok-like scrolling interface for discovering and reading articles and news. The application employs web scraping to gather articles from the internet, storing them in a database. As users scroll through the app, they are presented with article titles and AI-generated shortened content. Clicking on an article reveals its full content.
## Features
- **TikTok-like Interface:** Engage with news and articles in a visually dynamic and user-friendly manner.
- **Web Scraping:** Automatically fetch articles from the internet to keep content fresh.
- **AI Summarization:** Utilize artificial intelligence to provide concise summaries of article content.
- **Database Storage:** Efficiently store and manage a collection of articles for seamless retrieval.## Installation
1. Clone the repository:
```bash
git clone https://github.com/ivanrj7j/NewsTok.git
```2. Install dependencies:
```bash
pip install -r requirements.txt
```3. Run the application:
```bash
python app.py
```4. Access NewsTok in your web browser at [http://localhost:5000](http://localhost:5000).
## Usage
1. Scroll through the app to discover articles.
2. Click on an article to view its full content.
3. Stay informed with a unique and engaging news-reading experience.## Source Code Structure
```plaintext
|-- components.py (File)
|-- web
| |-- app.py (File)
| |-- back.py (File)
| |-- front.py (File)
| |-- __init__.py (File)
|-- core
| |-- __init__.py (File)
| |-- models
| | |-- article.py (File)
| |-- workers
| | |-- fetcher.py (File)
| | |-- businessinsider.py (File)
| | |-- scheduler.py (File)
| | |-- searcher.py (File)
| | |-- businessinsiderSearcher.py (File)
```The source code is organized into two main parts:
- **web:** Contains the web application code.
- `app.py`: Main application file.
- `back.py`: Backend blueprint.
- `front.py`: Frontend blueprint.
- `__init__.py`: Initialization file.- **core:** Manages core functionalities, independent of the web application.
- `__init__.py`: Initialization file.
- **models:**
- `article.py`: A model for an article, contains essential details and methods related to an article
- **workers:**
- `businessinsider.py`: Worker for fetching articles from Business Insider.
- `fetcher.py`: Generic article fetching functionality. Used as a parent class for other targetted fetchers
- `scheduler.py`: Schedules tasks for fetching articles.
- `searcher.py`: Parent class for searching any website for articles.
- `businessinsiderSearcher.py`: Specialized searcher for [Business Insider](https://www.businessinsider.in/).## [High Level Details](HLD.md)
[Click here to see HLD](HLD.md)
## License
NewsTok is licensed under the Apache License 2.0. See [LICENSE](LICENSE) for more details.
## Contributions
Contributions are welcome! Please follow our [Contribution Guidelines](CONTRIBUTING.md) when submitting pull requests.
## Contact
For issues or suggestions, feel free to [open an issue](https://github.com/ivanrj7j/NewsTok/issues).
---