React JS
Flask (python)
JWT
bcrypt
MySQL (with master-slave architecture)
Docker
Terraform (AWS)
Ansible
- AWS
Sanjiv Kannaa J
For running each microservice seperately, refer README.md inside each folder
$ git clone https://github.com/sanjivkannaa/chaosbank.git
$ cd chaosbank
$ cp ./backend/.env.example ./backend/.env
$ cp ./frontend/.env.example ./frontend/.env
setup .env [make sure to set strong username and P4$$w0=D]
$ docker-compose up -d
- shell into master
docker exec -it reliabank-mysql mysql -u root -p
- copy paste the contents of backend/mysql_files/master.sql into the terminal
GRANT REPLICATION SLAVE ON *.* TO 'reliabank'@'%';
FLUSH PRIVILEGES;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
UNLOCK TABLES;
- copy "SOURCE_LOG_FILE" and "SOURCE_LOG_POS" displayed in the output of [2]
- shell into slave (do for each slave)
docker exec -it reliabank-mysql-slave<number> mysql -u root -p
- copy paste the contents of backend/mysql_files/slave.sql into the terminal (dont forget to replace "SOURCE_LOG_FILE" and "SOURCE_LOG_POS") ''' CHANGE REPLICATION SOURCE TO SOURCE_HOST='mysql', SOURCE_USER='reliabank', SOURCE_PASSWORD='reliabank', SOURCE_LOG_FILE='binlog.000002', // update this SOURCE_LOG_POS=1684; // update this GET_MASTER_PUBLIC_KEY=1; START REPLICA; SHOW REPLICA STATUS; '''
now visit localhost:3000
Refer to IaC/ directory