Clearing Feed Generation System
Project made by GROUP-19 for Citi Bridge Program 2022
Introduction
- Clearing Feed Generation System is the part of banking software to validate the transaction entries and make the data ready for the clearing process.
- This system takes an input file from the user, containing transaction records in any format.
- It validates each record in the file according to the given specifications and generates an output file containing only the valid records.
- This output file serves as the input to the transaction clearing system of the bank.
Screenshots:
Functional Features:
โ
Polling a local folder to select input file ๐
โ
Reading the uploaded file and moving it to archive folder
โ
Validations on the transaction record format: naming convention, length, number of fields, field length, date format, currency format
โ
Generating a Clearing Feed File having transactions listed in given format ๐๏ธ
โ
UI screen to separately show the transactions that have validation passed and validation failed ๐ป
โ
Functionality for user to download the valid transactions file โฌ๏ธ
โ
Visualization of metrics around the clearing feed generation ๐
System Diagram
Technologies Used:
Name | Description |
---|---|
React JS | React is a free and open-source front-end JavaScript library for building user interfaces based on UI components. |
JavaScript | JavaScript is a text-based programming language used both on the client-side and server-side that allows you to make web pages interactive. It is a dynamic programming language that's used for web development, in web applications, for game development, and lots more |
CSS3 | CSS3 stands for Cascading Style Sheet level 3, which is the advanced version of CSS. It is used for structuring, styling, and formatting web pages. |
Java | Java is a programming language and computing platform first released by Sun Microsystems in 1995. It is a widely used object-oriented programming language and software platform that runs on billions of devices, including notebook computers, mobile devices, gaming consoles, medical devices, etc |
Java Servlet | Servlets are the Java programs that run on the Java-enabled web server or application server. They are used to handle the request obtained from the webserver, process the request, produce the response, then send a response back to the webserver. It is a software component that extends the capabilities of a server. |
Spring Tools Suite | Spring Tool Suite (STS) is a java IDE tailored for developing Spring-based enterprise applications. Powered by VMWare, it is easier, faster, free, open-source and based on Eclipse IDE |
Apache Tomcat Server | Apache Tomcat is a popular open source web server and Servlet container for Java code. |
Future Enhancements:
- ๐ UI screen that allows the user to access the last 5 validation results
- ๐ง Feature for the bank authorities to enable a daily email report containing count of valid and invalid transactions.
- ๐ Weekly/ monthly analysis reports based on the transaction history stored in a database.
Local Setup:
Download Code folder
- Backend :
- Open Eclipse or STS.
- Go to File -> Import Project -> Maven -> Existing Maven Projects -> Browse Folder location -> check "Add project to working set" -> Finish
- Right click on pom.xml -> Maven -> Update Project
- Open Boot Dashboard
- Right Click on Project -> start
- Server will get started on port 8080
- Frontend :
- Open folder with VS Code
- Open terminal
- Run command 'npm install' to install the dependencies.
- Run command 'npm start' to start the server
- Open http://localhost:3000 from your browser
References/ Additional sources:
UI components: https://mui.com/
Icons: https://fontawesome.com/
Charts & Visualization : https://react-chartjs-2.js.org/
Open Source Vector Images: https://undraw.co/ , https://storyset.com/
https://www.smartcheque.com.au/solutions/cheque-truncation-system-cts.html