docs: add readme

Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
This commit is contained in:
Ameya Shenoy 2021-02-12 16:18:08 +05:30
parent ef2f2bdbb0
commit 206d7e42c0
Signed by: codingcoffee
GPG key ID: F7D58AAC5DACF8D3

99
README.md Normal file
View file

@ -0,0 +1,99 @@
<div align="center">
<img src="./frontend/src/assets/logo.svg" width="250">
<h1>
Bullish
</h1>
<h4>A simple webapp to explore Bhav Copy Equity data</h4>
</div>
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
Backend:
[![Docker Pulls - Backend](https://img.shields.io/docker/pulls/codingcoffee/bullish-backend)](https://hub.docker.com/r/codingcoffee/bullish-backend)
[![Docker Image Size Backend (tag)](https://img.shields.io/docker/image-size/codingcoffee/bullish-backend?sort=date)](https://hub.docker.com/r/codingcoffee/bullish-backend/tags?name=latest)
Frontend
[![Docker Pulls - Frontend](https://img.shields.io/docker/pulls/codingcoffee/bullish-frontend)](https://hub.docker.com/r/codingcoffee/bullish-frontend)
[![Docker Image Size Frontend (tag)](https://img.shields.io/docker/image-size/codingcoffee/bullish-frontend?sort=date)](https://hub.docker.com/r/codingcoffee/bullish-frontend/tags?name=latest)
## Usage
- Local setup is supported via Docker Compose
```sh
docker-compose up -d
```
### Build
- Build images for dev
```sh
docker-compose build
```
- Build images for prod
```sh
./prod-build.sh
```
### Logging
To get the logs of all containers
```sh
docker logs -f
```
To get the logs of a particular container
```sh
docker logs -f container-name
```
Here `container-name` can be either of `backend`, `frontend`, `redis`,
`postgresql`, `rqworker` or `rqscheduler`.
## Deploy
The recommended way for deploy is on Kubernetes. You can find the related files
in `k8s` directory.
- One time deploy
```sh
# Deploy ingress
kubectl apply -f k8s/ingress/ingress-https.yaml
# Deploy Postgres and Redis DB
kubectl apply -f k8s/app/redis.yaml
kubectl apply -f k8s/app/postgres.yaml
# Deploy Backend
kubectl apply -f k8s/app/backend.yaml
kubectl apply -f k8s/app/rqworker.yaml
kubectl apply -f k8s/app/rqscheduler.yaml
# Deploy Frontend
kubectl apply -f k8s/app/frontend.yaml
```
- Subsequent deploys can be done by rolloing out a restart since all pods have a `imagePullPolicy` set to Always
```sh
# Push containers to Docker Hub and Deploy to K8s
./prod-deploy.sh
```
## License
The code in this repository has been released under the [GNU Affero General Public License v3](https://www.gnu.org/licenses/agpl-3.0.en.html)
## Attributions
- [Bullish icon](./.assets/images/bullish.png) made by [Freepik](https://www.freepik.com) from [Flaticon](https://www.flaticon.com)