Keyword Cloud for your current location. A simple API service telling you what's hot near you.
A prototype system. NCNU BigData lecture project.
- Parse article from news site. Extract data.
- Lookup it's location (x, y)
- Import to DB (RethinkDB)
- Build geospatial index (RethinkDB or Redis)
- Locate user (GPS, map center)
- Get radius (map size)
- Send location to server, get unsorted array of Entries { [Keywords], timestamp, source, etc}
- Build and show Keyword Cloud on map.
- Repeat.
- Algorithm: sum(1/timeDiff)
- timeDiff = epoch(now) - epoch(timestamp)
- score = 1 / (timeDiff / 86400 / 30)
- Test data:
- timestamp: random in 2007/1/1..2017/1/1
- 10000 entries, each contains 20 keywords
- Diags https://cacoo.com/diagrams/zFHADLJOpHNowcYL#65F5B
- Wireframe https://invis.io/VT9M4KO7R
- Slide https://docs.google.com/presentation/d/1Il1CRVJDEXHyQfRYY71MkgUOekWvhwQLN_WfsOYOKOk/edit?usp=sharing
- Sample data https://docs.google.com/spreadsheets/d/1xcu-0PaMgywk60JRi_6ES6v6BCxXzDrWxwyNP05OKIw/edit?usp=sharing
Server template was generated by the swagger-codegen project. By using the OpenAPI-Spec from a remote server.
This server uses the Connect middleware layer for Node.js. This service uses RethinkDB Database.
To run the server, run:
npm start
To view the Swagger UI interface:
open http://localhost:8080/docs
This project leverages the mega-awesome swagger-tools middleware which does most all the work.