manimayan / RBC_Stock_Assessment

The repository is a prototype of spring boot application which serves the purpose of maintaining the weekly stock prediction data of Dow Jones Industrial Index.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RBC_Stock_Assessment - Spring Boot Application

The repository is a prototype of spring boot application which serves the purpose of maintaining the weekly stock prediction data of Dow Jones Industrial Index.

Application Flow Diagram

Project Resources

➲   run_instructions.txt
➲   SQL Schema
➲   Postman Collection
➲   Stock Upload Sample File

The repository leverages various tools and stack such as,

➲   Language :                         Java 11
➲   Framework :                       Spring Boot 2.7.8,   JPA with Hibernate 5.x ORMJUnit & Mockito
➲   Integration framework :     RESTful Web servicesSwagger
➲   Webserver :                        Apache tomcat 9.0
➲   Database :                          MySQL
➲   Build & Dependency :        Gradle
➲   Tools used :                        Sonar Lint-Code ReviewPostman,  IntelliJ

Key Features

➲   Implementaion of BeanReader API to unmarshal CSV, delimited and fixed length stream formats.
➲   Supports  .txt,  .data,  .csv  file formats for uploading stocks.
➲   Exposes custom exception codes for better API readability.
➲   Implemented Spring boot validation / javax validation.
➲   Supports Cross-origin resource sharing (CORS).
➲   Implemented Global exception handling.
➲   Swagger API documentation.

Future Enhancements

➲   Spring WebFlux (supports asynchronous and event-driven processing for Stock Service API's).
➲   Spring Batch can be implemented for Stock upload API (batch processing to handle huge volume of input).
➲   Code coverage can be improved by writing more unit test cases.
➲   Can support Containerization (Docker).
➲   Spring Profiles can be implemented to make the application support multi environment.
➲   JSON Web Token(JWT) standard Can be implemented to improve Stock Service API security.
➲   Java 8 parallel stream can be implemented in Stock upload API for multi theaded data manipulation in business layer.

About

The repository is a prototype of spring boot application which serves the purpose of maintaining the weekly stock prediction data of Dow Jones Industrial Index.


Languages

Language:Java 100.0%