-
Notifications
You must be signed in to change notification settings - Fork 3
Home
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 docker deployment guide below.
- MySQL (Database)
- JDBC w/ Servlets (Java to Database Connectivity/API/ORM)
- Maven (Dependency Management)
- Tomcat 10 (Server for Servlets)
- Python3
- Flask (Server for Machine Learning Model)
- React 18 ⚛️ (Frontend)
- NodeJS (Server)
- Axios (API Communicator)
- Redux Toolkit w/ Redux thunk
-
Docker 🐳 (w/ Dockerfiles and docker-compose)
- Please visit the Docker folder to have a glance at the setup files
You would get a similar folder structure as shown in the image below.
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.
version: "3"
services:
highradiustraining-servlet:
container_name: highradiustraining-servlet
deploy:
replicas: 1
restart_policy:
condition: unless-stopped
ports:
- "280:8080"
image: ankurpaul19/highradiustraining-servlet
highradiustraining-flask:
container_name: highradiustraining-flask
deploy:
replicas: 1
restart_policy:
condition: unless-stopped
ports:
- "5000:5000"
image: ankurpaul19/highradiustraining-flask
db:
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password
volumes:
- /var/lib/mysql:/var/lib/mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=mysql
- MYSQL_DATABASE=grey_goose
- MYSQL_USER=mysql
- MYSQL_PASSWORD=mysql
ports:
- "3306:3306"
db_seeder:
image: mysql:latest
volumes:
- ./Database/db.sql:/db.sql
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=true
entrypoint:
[
"bash",
"-c",
"sleep 10 && mysql --user=mysql --password=mysql --host=db --port=3306 grey_goose < /db.sql && exit",
]
depends_on:
- db
phpmyadmin:
image: phpmyadmin:latest
restart: unless-stopped
ports:
- 8080:80
environment:
# we specify that we connect to an arbitrary server with the flag below
# "arbitrary" means you're able to specify which database server to use on login page of phpmyadmin
- PMA_ARBITRARY=1
depends_on:
- db_seeder
We can see that it uses these services for the backend to be running.
- highradiustraining-servlet (Tomcat server for servlets)
- highradiustraining-flask (Flask service for AI predictions in the dashboard)
- db (MySQL Container)
- db_seeder (Seeder service for initial setup of the database)
- phpmyadmin (Database monitoring) (optional, remove if not needed)
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.
docker build -t ankurpaul19/highradiustraining-servlet -f Dockerfile-servlet.dockerfile .
docker build -t ankurpaul19/highradiustraining-flask -f Dockerfile-flask.dockerfile .
Once the images are built, you can start the containers from the docker-compose.yaml file by,
docker-compose up
(-d to detach from the console and keep running in the background)
-
Navigate to the Frontend folder.
-
Install the dependencies for the web project using your preferred package manager (yarn / npm)
yarn install
ornpm install
-
Perform a build of the project. Please make modifications to the
.env
file by copying the default variables from.env.example
file.Build the Project or download the build from releases.
yarn build
ornpm run build
The build time shall be around ~3 minutes ⌚ depending upon your pc specs.
Dear Student,
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..
Please read the PRS Document to get in-depth knowledge about the project.
Hope you have a pleasant journey ahead!
Regards,
HighRadius Corporation