/final-project-tweeter

final-project-tweeter created by GitHub Classroom

Primary LanguageJavaScript

Project description

Tweeter

Project team members

  • Front end - Hale, Jesus, Jason
  • Back end - Deep, Kevin, Bakulia, Sam
  • Github master - Kevin

Tech Requirements for project:

  • Express back end with get/post endpoints
  • Mongodb for storage
  • Run on EC2
  • Websocket for real time interactions FE
  • React + Redux with routes for FE
  • Microserver architecture back end with some services running multiple instances
  • All FE requests must first hit gateway
  • redis for caching values
  • Backend components must be dockerized and running in Docker swarm mode
  • Kafka for at least 1 conveyer
  • Distributed messaging can be done with either kafka or redis

Kafka

Get latest images

  • docker-compose pull

Start docker

  • docker swarm init
  • docker stack deploy -c docker-compose.yml kafka-demo

Run Kafka files

  • node server/kafkaTweet/producerKafka.js
  • node server/kafkaTweet/consumerKafka.js
  • node server/mongo-service.js

MongoDB

  • go to the mongodb directory
  • Manually start with bin/mongod --dbpath path to db

Redis

  • cd to download dirctory
  • make
  • ./src/redis-server

Getting the app up and running

  • Install dependencies:
  • react npm i -S react
  • react thunk npm i -S react-thunk