/scrum-tool-api

🧑‍💻 Websocket api for for scrum master toolkit written in Typescript & Node

Primary LanguageTypeScriptMIT LicenseMIT

scrum-tool-api

Simple tool for scrum ceremonies. Perfect for retrospective and planning meetings. Written in TypeScript, using WebSockets, Node and React.

Link to the repository with client

Features

  • Quick and easy to use
  • No registration required
  • Responsive design
  • Open source, funny avatars
  • Use websocket or http polling as fallback

Getting started

Install Nginx.

sudo apt update
sudo apt install nginx
sudo ufw allow 'Nginx HTTP'
sudo ufw enable
sudo ufw status
systemctl status nginx

Configure reverse proxy to point to the application.

# /etc/nginx/sites-available/default
server {
     listen [::]:80;
     listen 80;

     server_name yourdomainname.com;

     location / {
         proxy_pass http://localhost:3001;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection 'upgrade';
         proxy_set_header Host $host;
         proxy_cache_bypass $http_upgrade;
    }
}

Check if configuration is ok and reload.

sudo nginx -t
sudo service nginx restart

Install Node and essentials required for some dependencies.

curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs

node -v
npm -v

sudo apt install build-essential

If you are using API with postgres only (if you stick to default sqlite3, you can skip this) install postgres, create new database and setup user.

sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql.service
sudo -u postgres createuser --interactive
sudo -u postgres createdb scrumdb
sudo -u postgres psql
ALTER USER postgres PASSWORD 'mysecretpassword';

Install certbot and configure SSL.

sudo apt install python3-certbot-nginx
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
sudo certbot --nginx -d yourdomainname.com

Install PM2 and start the application.

npm install yarn pm2 -g

# in project directory
yarn
pm2 install typescript
pm2 start app.ts

# OR without process manager
yarn prod

License

MIT