Skip to content

Scribble is a microservice-based web app with Nginx as a reverse proxy, AWS Cognito for authentication, Spring Boot services for auth and notes, and an Angular frontend. It features secure sessions, server-side pagination, search, error handling, and CI/CD with GitHub Actions.

Notifications You must be signed in to change notification settings

lakshyajit165/scribble

Repository files navigation

Scribble Web App

Build test and push note-service to docker

Build test and push auth-service to Docker

Scribble is a sample web application designed using microservice architecture which consists of nginx for reverse-proxy and request filtering, along with 2 other microservices - auth and notes.

Features implemented in this web app:

  • Nginx (as reverse proxy, api-gateway and circuit breaker).
  • AWS Cognito for authentication & authorization with refresh token implementation alongside SpringBoot microservices.
  • Server side cookies(http only so that they are not modifiable on the client side)
  • DB queries using predicates(Inside notes microservice for the search notes API)
  • Server side pagination of search results.
  • RestControllerAdvice as middleware for better handling of server side error messages.
  • Refresh token implementation with http request interceptor in Angular.
  • Authentication state handling on the client side using BehaviourSubject.
  • Client side route guards.
  • Debouncing for search notes on the client side.
  • Unit testing for success and failure functionalities, for all the APIs.
  • Implemented github action script to build and push latest docker images when unit test execution is successful.

About

Scribble is a microservice-based web app with Nginx as a reverse proxy, AWS Cognito for authentication, Spring Boot services for auth and notes, and an Angular frontend. It features secure sessions, server-side pagination, search, error handling, and CI/CD with GitHub Actions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published