Skip to content

Commit 18c03f7

Browse files
committed
README commit
1 parent 3ef84a5 commit 18c03f7

File tree

5 files changed

+166
-3
lines changed

5 files changed

+166
-3
lines changed

Readme.md

+166-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,179 @@
1-
#### Project Status
1+
<h1 align="center">Highradius Dashboard 🖥️</h1>
2+
3+
*This project is built with React18 support which means it has bleeding edge support of the latest web framework. **To get started in clicks, follow the <a href="#docker-deployment">docker deployment guide</a> below.***
4+
5+
![Dashboard Screenshot](Screenshots/Dashboard_scr_1.png)
6+
7+
> [Screenshots](Screenshots)
8+
9+
---
10+
11+
<h2>Project Status</h2>
212

313
[![CI (Build 🏗️ & Release 📦)](https://github.com/nooobcoder/HighRadiusTraining/actions/workflows/build_release.yaml/badge.svg?branch=v1.0.0)](https://github.com/nooobcoder/HighRadiusTraining/actions/workflows/build_release.yaml)
414

15+
---
16+
17+
<h2>Technology Stacks Used</h2>
18+
19+
### 1. Backend
20+
21+
- [MySQL](https://dev.mysql.com/doc/) (Database)
22+
- [JDBC](https://mvnrepository.com/artifact/mysql/mysql-connector-java) w/ [Servlets](https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api) (Java to Database Connectivity/API/ORM)
23+
- [Maven](https://maven.apache.org/) (Dependency Management)
24+
- [Tomcat 10](https://tomcat.apache.org/download-10.cgi) (Server for Servlets)
25+
- [Python3](https://www.python.org/)
26+
- [Flask](https://flask.palletsprojects.com/en/2.1.x/) (Server for Machine Learning Model)
27+
28+
### 2. Frontend
29+
30+
- [React 18 ⚛️](https://reactjs.org/) (Frontend)
31+
- [NodeJS](https://nodejs.org/en/) (Server)
32+
- [Axios](https://axios-http.com/docs/intro) (API Communicator)
33+
- [Redux Toolkit](https://redux-toolkit.js.org/) w/ Redux thunk
34+
35+
### 3. CI/CD 🛠️ and Orchestration 📦
36+
37+
- [Docker](https://www.docker.com/) 🐳 (w/ Dockerfiles and docker-compose)
38+
39+
- [Dockerfile](https://docs.docker.com/engine/reference/builder/)
40+
- [docker-compose](https://docs.docker.com/compose/)
41+
42+
- [Github Actions](https://github.com/features/actions)
43+
44+
---
45+
46+
<h2> Getting Started </h2>
47+
48+
<h3> Easy Deployment </h3>
49+
50+
<h4 id="docker-deployment"><a> Backend Deployment using Docker</a> </h4>
51+
52+
1. Please visit the <a href="Track%204_ReactJS_Web%20Development/Project/Docker/" target="_blank">Docker folder</a> to have a glance at the setup files
53+
54+
You would get a similar folder structure as shown in the image below.
55+
![](Screenshots/Docker_setup_1.png)
56+
57+
Now take a look at the `docker-compose.yaml` file, that would expose us to the services that would be references while running the backend using Docker.
58+
59+
```yaml
60+
version: "3"
61+
62+
services:
63+
highradiustraining-servlet:
64+
container_name: highradiustraining-servlet
65+
deploy:
66+
replicas: 1
67+
restart_policy:
68+
condition: unless-stopped
69+
ports:
70+
- "280:8080"
71+
image: ankurpaul19/highradiustraining-servlet
72+
highradiustraining-flask:
73+
container_name: highradiustraining-flask
74+
deploy:
75+
replicas: 1
76+
restart_policy:
77+
condition: unless-stopped
78+
ports:
79+
- "5000:5000"
80+
image: ankurpaul19/highradiustraining-flask
81+
82+
db:
83+
image: mysql:5.7
84+
command: --default-authentication-plugin=mysql_native_password
85+
volumes:
86+
- /var/lib/mysql:/var/lib/mysql
87+
restart: always
88+
environment:
89+
- MYSQL_ROOT_PASSWORD=mysql
90+
- MYSQL_DATABASE=grey_goose
91+
- MYSQL_USER=mysql
92+
- MYSQL_PASSWORD=mysql
93+
ports:
94+
- "3306:3306"
95+
96+
db_seeder:
97+
image: mysql:latest
98+
volumes:
99+
- ./Database/db.sql:/db.sql
100+
environment:
101+
- MYSQL_ALLOW_EMPTY_PASSWORD=true
102+
entrypoint:
103+
[
104+
"bash",
105+
"-c",
106+
"sleep 10 && mysql --user=mysql --password=mysql --host=db --port=3306 grey_goose < /db.sql && exit",
107+
]
108+
depends_on:
109+
- db
110+
111+
phpmyadmin:
112+
image: phpmyadmin:latest
113+
restart: unless-stopped
114+
ports:
115+
- 8080:80
116+
environment:
117+
# we specify that we connect to an arbitrary server with the flag below
118+
# "arbitrary" means you're able to specify which database server to use on login page of phpmyadmin
119+
- PMA_ARBITRARY=1
120+
depends_on:
121+
- db_seeder
122+
```
123+
124+
We can see that it uses these services for the backend to be running.
125+
126+
1. highradiustraining-servlet (Tomcat server for servlets)
127+
2. highradiustraining-flask (Flask service for AI predictions in the dashboard)
128+
3. db (MySQL Container)
129+
4. db_seeder (Seeder service for initial setup of the database)
130+
5. phpmyadmin (Database monitoring) ***(optional, remove if not needed)***
131+
132+
**Before you can use the `docker-compose.yaml` file readily, you need to build the images first. Please visit the `Docker` folder and execute the below scripts to build the images.**
133+
134+
```sh
135+
docker build -t ankurpaul19/highradiustraining-servlet -f Dockerfile-servlet.dockerfile .
136+
137+
docker build -t ankurpaul19/highradiustraining-flask -f Dockerfile-flask.dockerfile .
138+
```
139+
140+
Once the images are built, you can **start the containers** from the docker-compose.yaml file by,
141+
142+
`docker-compose up` *(-d to detach from the console and keep running in the background)*
143+
![](Screenshots/Docker_compose_screenshot.png)
144+
145+
<h4 id="frontend-deployment"><a> Frontend Deployment </a></h4>
146+
147+
1. Navigate to the <a href="Track%204_ReactJS_Web%20Development/Project/Frontend/hrc-dashboard" target="_blank">Frontend folder</a>.
148+
149+
2. Install the dependencies for the web project using your preferred package manager (<a href="https://yarnpkg.com/" target="_blank">yarn</a> / <a href="https://www.npmjs.com/" target="_blank">npm</a>)
150+
151+
> `yarn install` or `npm install`
152+
> ![](Screenshots/yarn_install_success.png)
153+
154+
3. Perform a build of the project. Please make modifications to the `.env` file by copying the default variables from [`.env.example`](Track%204_ReactJS_Web%20Development/Project/Frontend/hrc-dashboard/.env.example) file.
155+
156+
**Build the Project or download the build from <a href="https://github.com/nooobcoder/HighRadiusTraining/releases" target="_blank">releases</a>.**
157+
158+
> `yarn build` or `npm run build`
159+
160+
> The build time shall be around ~3 minutes ⌚ depending upon your pc specs.
161+
162+
---
163+
5164
## HighRadius Training Details
6165

7-
Dear Student,
166+
<p>Dear Student,
8167

9168
Finally the wait is over! The day has come when we are about to start with the internship program. So, brace yourselves for the upcoming roller coaster ride. The starting date for the Internship is **27-Jan 2022**. The tenure for the Internship will be of 11 weeks wherein you'll be responsible to build an **AI Enabled Fintech B2B Invoice Management Application.**.
10169

11-
Please read the [PRS Document]("./PRS.pdf")
170+
</p>
171+
172+
> Please read the [PRS Document](PRS.pdf) to get in-depth knowledge about the project.
12173

13174
Hope you have a pleasant journey ahead!
14175

15176
Regards,
16177
**HighRadius Corporation**
178+
179+

Screenshots/Dashboard_scr_1.png

82.8 KB
Loading
162 KB
Loading

Screenshots/Docker_setup_1.png

15.2 KB
Loading

Screenshots/yarn_install_success.png

130 KB
Loading

0 commit comments

Comments
 (0)