Skip to content

Reillyknut/RequestPool

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Request Pool

RequestBin like application. Users can create ephemeral bins that collect requests for 48 hours. This repository is developed for deploying to a VPS server.

requestpool

Development

  • Clone this repository.
  • Create .env folder for DB connection inside server folder.
  • Run npm install from client and server folders.
  • Run npm run dev from server folder.

Deployment (VPS)

  • Clone this repository.
  • Run npm install from client and server folders.
  • Create .env files inside server and db_cleaner.
  • Build(npm run build) client react app and move build folder to server folder.
  • Run the application as a background process using pm2
  • Run the go worker for database clean up as a systemd service.
  • (Optional) Configure firewall to allow connections from a single port only
  • (Optional) Create an Nginx file inside /etc/nginx/sites-available/ with your domain

Future work

  • Add front-end test
  • Configure eslint
  • Experiment with WebSockets

ERD

image

(Bins is a Postgres Table and Requests is a Mongo collection. Relationships in this diagram describe logical relationships only)

Architecture

image

The application is deployed to a DigitalOcean Droplet. It requires additional configuration steps which are described in "Deployment". The diagram shows a deployed application running from a VPS.

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 88.5%
  • Go 7.5%
  • HTML 3.4%
  • CSS 0.6%