miniwiki v0.1.0
Mini-Wikipedia API and Website
Features
- Written in CoffeeScript for Node.js
- Clusters enable utilization of all cores
- Promises avoid blocking while recursively calculating fibonacci(34)
- Cassandra used as persistent storage via DataStax driver
- HTML Page caching using Jade templates
- Docker containerizes apps for portability
Roadmap
- Will implement Closure Compiler to compile CoffeeScript into minified JavaScript for efficiency and speed
- Will implement Nginx for load balancing between servers and clusters
- Will implement apicache for caching API responses
- Will implement Kafka to handle caching when updating articles
- Will implement Unit and Benchmark Testing via Mocha and StrongLoop
Prerequisites
Installation
Use npm to install miniwiki:
npm install miniwiki
Running
Run from miniwiki
directory:
docker build .
Usage
miniwiki is made up of 2 apps: api
and web
. Each has its own endpoints:
Retrieving Latest_plane_crash article from Web:
curl http://127.0.0.1:8000/wiki/Latest_plane_crash
Updating Latest_plane_crash article from API:
curl --request PATCH http://127.0.0.1:3000/v1/articles/Latest_plane_crash?summary=Latest+plane+crashes