https://github.com/juangesino/gazette
A personal news aggregator application using Meteor.
https://github.com/juangesino/gazette
crawler meteor meteorjs news news-aggregator news-feed scraper
Last synced: about 1 month ago
JSON representation
A personal news aggregator application using Meteor.
- Host: GitHub
- URL: https://github.com/juangesino/gazette
- Owner: juangesino
- License: mit
- Created: 2018-05-24T19:18:46.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-02-22T04:58:28.000Z (about 6 years ago)
- Last Synced: 2025-03-08T14:07:05.109Z (about 2 months ago)
- Topics: crawler, meteor, meteorjs, news, news-aggregator, news-feed, scraper
- Language: JavaScript
- Homepage:
- Size: 2.95 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Gazette
A personal news aggregator
## About
Gazette is a simple Meteor application that aggregates news and generates a database of articles you read as well as your opinion about them. The primary goal of Gazette is to build a database of articles you are interested in. In the future, this could be used with ML to recommend articles, or even only show articles that are relevant to your preferences.
## Setup
1. **Install Meteor**
On Linux & Mac:
```sh
> curl https://install.meteor.com/ | sh
```This will setup [Meteor](http://github.com/meteor/meteor) (including [Node](https://github.com/nodejs/node) and [Mongo](https://github.com/mongodb/mongo) if necessary).
> _Note:_ Windows users must [download installer](https://www.meteor.com/install).
2. **Clone Repository**
```sh
> git clone https://github.com/juangesino/gazette.git
> cd gazette
```3. **Install Dependencies**
If you have npm installed:
```sh
> npm install
```If you only have meteor:
```sh
> meteor npm install
```4. **Run**
While in repository directory run:
```sh
> meteor run
```Load browser and go to [http://localhost:3000/](http://localhost:3000/)
Alternatively, you can run:
```sh
> meteor run android-device
```With an Android phone connected to your computer and with USB debugging enabled to run the server on your computer and install the APK on your phone (connected to the same network). More info about running Meteor on Android here and more info on debugging here.
## Deploy
### Server
The Meteor application requires a server. We can do this by deploying the server to Heroku for free.
Follow these steps to deploy the Meteor app on Heroku.
##### Setup Tasks
To perform scheduled tasks, we can use the Heroku Scheduler. It's free and easy to use.
The first task we need to setup is the cleaner. This task makes sure to clean up if articles start piling up.
Use the following command: `wget https://.herokuapp.com/tasks/clean` and set it to run daily.
Now we can setup the crawling tasks. At the moment, we have 3 available crawler tasks we can use:
**TechCrunch** ([techcrunch.com](https://techcrunch.com/))
```
wget https://.herokuapp.com/crawlers/techcrunch
```**TodoNoticias** ([tn.com.ar](https://tn.com.ar/))
```
wget https://.herokuapp.com/crawlers/todoNoticias
```**DutchNews.nl** ([dutchnews.nl](https://www.dutchnews.nl/))
```
wget https://.herokuapp.com/crawlers/dutchNews
```
You can set them to run as many times and as frequently as you need. If you are not using Heroku, you can use a Cron to perform each of these tasks.
**Note**: You will need to deploy this server for the Android app to work.
### Android
To build for Android run:
```sh
> meteor build ..//gazette --debug --server=https://.herokuapp.com/
```Replace `` with the actual path where you want your build to be generated.
Replace `` with the name of the Heroku app for your server. If you are not using Heroku, replace the entire `--server` argument with your server's URL.## Contributing
1. Fork it ( https://github.com/juangesino/gazette/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request## License
See [MIT-LICENSE](https://github.com/juangesino/gazette/blob/master/LICENSE).