There's no need to ponder which site a quote was taken from, or if a screenshot of an article was modified, anymore. UutisAhti helps people to find articles with a click of a button. Users can input either text or an image.
UutisAhti uses the site's search API to find results. It uses a basic scoring system based the amount of sentences found, and their lengths. The system perfoms poorly if the site's search API returns unmatching results. This is unfortunetaly the case for many Finnish news sites, many don't even have an API in the first place.
A subreddit (specifically r/Suomi) had an image containing a piece of an article, by downloading the image and using UutisAhti, I was able to get the exact article the screenshot was taken from. If you're curious, here's the article.
- Aamulehti
- Helsingin Sanomat
- Iltalehti
- IltaSanomat
- Kauppalehti
- Satakunnan Kansa
- Tivi
- Uusi Suomi
- Yle
- axios
- react-dropzone
- react-wavify
- cors
- express
- express-rate-limit
- multer
- request
- tesseract.js
-
To get UutisAhti working on your local machine, you'll need to change one thing.
- Navigate to
client/src/Config.js
& change the backend's value to localhost:5000
- Navigate to
-
The basic npm commands start the application.
- Front-end & back-end both start with
npm start
- Front-end & back-end both start with
-
The front-end auto refreshes, however the back-end needs a restart for changes to appear.
-
If you make changes to the front-end and want to run the site on Heroku, use
npm run build
beforehand.
- If the news sites start applying harsh ratelimits, might need to implement proxies for the requests.
- Possibly adding more news sites to search from.
If you're a professional developer, approach the project carefully, as this was my first front-end, back-end and full stack development project. You will find some oddities in file structure and the code itself. I hope you understand, and don't lose your calm.