Skip to content

Dockerized React+Springboot application deployed on kubernetes

Notifications You must be signed in to change notification settings

sambit77/bookmarker-app

Repository files navigation

About Application:

  • Bookmarker is a web-application that allows users to save/fetch saved urls from database.
  • Front-end of the application is built using Next-js & React framework.
  • REST API endpoints of the application are implemented using SpringBoot framework & testcases using Junit 5 and Mockito.
  • Enabled Continuous Integration using Github Actions workflow.
  • Containerized solution using Docker. This application have 3-containers (UI, Backend & Database).
  • Deployment automation, scaling & container management using Kubernetes & Kind Cluster

How to run?

1. Running application using Docker

Ensure Docker is installed and running on your system...

$ git clone https://github.com/sambit77/bookmarker-app
$ cd bookmarker-app
$ ./run.sh start
$ ./run.sh stop

2. Running on kubernetes

1. Ensure Docker, Kind & Kubectl is installed and running on your system locally...

2. Optionally Lens GUI app can be installed to visualized running pods, deployment & clusters

$ cd bookmarker-app
$ cd kind
$ ./create-cluster.sh
$ cd ../
$ kubectl apply -f k8s/

3. Manually running frontend & backend application (For development only)

Dependencies : JDK NodeJS Yarn

To use a postgres db container for application

  • Set spring-boot application with env variable SPRING_PROFILES_ACTIVE=local
  • And run the following command from root
$ ./run.sh start_infra
$ ./run.sh stop-infra
$ cd  bookmarker-api && ./mvnw spring-boot:run
$ cd ..
$ cd bookmarker-api
$ yarn dev