- Used version 1.9 of the serverless framework (https://github.com/serverless/serverless) for the backend.
- To run the application locally as an API, use the serverless-offline plugin (https://github.com/dherault/serverless-offline).
- All the functions are written in nodejs
- Redis is used from a docker container, for persistence
- Website uses angularjs, bootstrap
- One page website to post message others to see
- The current user can only edit/delete those messages which were posted by her/him, if reloads the page, no longer can edit/delete
- No login, anonymous user can post and see messages, edit/delete while still on the page
- Anytime a message contains the words "Amazon", "Lambda", or "DynamoDB", messages entered prior to it archived to a JSON file and purged from view. The message that triggered the purge will now be the first message available to all new visitors.
- When a message contains the word "Amazon", the backend can detect it so that a amazon SNS message can be called
- push the message to kinesis stream and handle the checking - purging operation
- do not overwrite existing file
- tag the old, new and release versions
- separate sns push
install docker on your machine, then
docker pull redis
docker run -d --name statup-redis -p 6379:6379 redis
from next time, just type
docker start statup-redis
docker pull dlsniper/kinesalite
docker run -d --name statup-kinesis -p 4567:4567 dlsniper/kinesalite
from next time, just type
docker start statup-kinesis
aws kinesis create-stream --stream-name Foo --shard-count 1
cd server/
KINESIS_ENDPOINT=http://localhost:4567 STREAM_NAME=statup node subscribe-lambda-for-kinesis-polling.js
cd server
npm start
cd client
npm start