0% found this document useful (0 votes)
24 views10 pages

Ha Project Report Template

Micro-Fin-World is a micro-finance crowdfunding platform designed to provide loans to small businesses that are often overlooked by traditional banks. The platform allows users to pool funds for loan applications, which are disbursed once the target amount is reached, and repayments are returned to contributors. The project report outlines the functional and technical architecture, goals, limitations, and tools used in the development of the application.

Uploaded by

dibyasmruti001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views10 pages

Ha Project Report Template

Micro-Fin-World is a micro-finance crowdfunding platform designed to provide loans to small businesses that are often overlooked by traditional banks. The platform allows users to pool funds for loan applications, which are disbursed once the target amount is reached, and repayments are returned to contributors. The project report outlines the functional and technical architecture, goals, limitations, and tools used in the development of the application.

Uploaded by

dibyasmruti001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Micro-Fin-World

Project Report
Contents

1 Introduction...............................................................................................................1
1.1 Background....................................................................................................1
1.2 Goals...............................................................................................................1
1.3 Scope.............................................................................................................. 1
1.4 Limitations......................................................................................................2
2 Functional Architecture............................................................................................2
3 Technical Architecture..............................................................................................3
3.1 React............................................................................................................... 3
3.2 Django.............................................................................................................4
3.3 AWS Cloud......................................................................................................5
3.3.1 S3.................................................................................................................... 5
3.3.2 Amplify............................................................................................................5
3.3.3 DynamoDB..................................................................................................... 6
3.3.4 Cognito........................................................................................................... 6
3.3.5 Cloud Watch...................................................................................................6
4 Tools & Resources....................................................................................................6
4.1 Git....................................................................................................................6
4.2 VSCode IDE....................................................................................................7
4.3 AWS CLI..........................................................................................................7
5 Functional Specifications........................................................................................ 7
6 Functional Flow.........................................................................................................7
7 Technical Flow.......................................................................................................... 7
8 REST APIs & Data Model..........................................................................................7
9 Non Functional Requirements(NFRs).....................................................................7
10 Sample Code Snippets..................................................................................8
11 Application Screenshots...............................................................................8
1 Introduction
Micro-Fin-Word is A micro-finance based Crowdfunding platform for lending micro loans to small
businesses. On Micro-Fin-World platform, the profile of the business owners, business details and loan
requirement are published. Users can contribute by pooling the money for a profile. When the pooled
money reaches the loan amount, loan is disbursed to the business owner. When the business owner
repays, the contributions made are returned to users.

1.1 Background
Traditionally, for the low-income and lesser privileged individuals/groups in the society, bank loans and
other forms of financial assistances have been hard to come by for fear of defaults and bad debts. It is in
this backdrop that microfinance is emerging as a new business opportunity for financial institutions, which
promises to help the underprivileged become financially stable, at the same time ensuring that financial
institutions continue to make profits.

Microfinance is the process of providing financial services such as loans, savings, etc. at a micro level or
small scale to individuals with little or no income.

A microfinance loan passes through various stages or events from the moment it is given till the time it is
repaid. The process begins with a loan application form in which the borrower is asked to furnish their
details and the kind of facility requested. The bank’s loans or credit department appraises the application
and takes a decision whether the applicant is eligible for the loan asked and whether loan can be extended
to that customer. The bank will apply its own parameters in arriving at this decision. Assuming that the loan
is sanctioned the bank gives a commitment and stipulates terms and conditions governing the same. The
bank may levy a processing charge at this stage. The loan amount is then disbursed and credited to the
settlement account of the borrower who draws the amount, uses it for the purpose for which it was taken.
Interest accrues on the account which has to be serviced by the borrower besides repaying the principal
amount as per the repayment schedule. If the loan is not repaid or there is a delay the loan asset’s status
is changed to reflect its deterioration. On the other hand if the microfinance account is conducted well it will
close on the date the last instalment is due and paid.

1.2 Goals
This platform aims for Financial inclusion of small businesses who are often ignored by Banks.

1.3 Scope
 User Authentication and Account Management
 Create business profiles for business owners
 Create & Publish loan applications for business owners
 Browse & View loan applications, business details and profiles of business owners
 Lend & Pool money, track & disburse loan on reaching target, track repayment & payback users once
the loan is repaid
 Basic reporting and usage analytics

1.4 Limitations
 Mock Payment gateway will be used for this app to simulate payment

1
 The app will support only USD($) currency

2 Functional Architecture
Functional architecture is an architectural model that identifies enterprise functions, interactions, and
corresponding IT needs. At its core, is a design paradigm. When you have information, processes, or different
solution modules and need to organize them into an enterprise system, you can use functional architecture as a
framework

Functional architecture for the Micro-Fin-World platform has been depicted in the below diagram. In the later
section of this report, Functional specifications, details of the modules and their features will be covered.

3 Technical Architecture
Technical architecture is a blueprint of the system depicting the various components and how they interact with
each other. Technical architecture for the Micro-Fin-World app has been depicted below.
Micro-Fin-World is a full-stack application built on Cloud-First principles. Cloud-First is the new norm of
developing modern applications which can scale to millions of users. This app has been built on React-
SpringBoot-AWS Tech stack where:
 React has been used for Front-End or the Web based UI
 Springboot has been used for Back-End or the component where the business logic has been
implemented
 AWS Cloud: Various AWS cloud services has been used to create relevant resources for developing this
app and then eventually hosting and running the app.

Let’s go thru each of the component from the technical architecture diagram.

3.1 React
As its official tagline states, React is a library for building user interfaces. React is not a framework – it's
not even exclusive to the web. It's used with other libraries to render to certain environments. For instance,
React Native can be used to build mobile applications.

To build for the web, developers use React in tandem with ReactDOM. React and ReactDOM are often
discussed in the same spaces as — and utilized to solve the same problems as — other true web development
frameworks. When we refer to React as a "framework", we're working with that colloquial understanding.

React's primary goal is to minimize the bugs that occur when developers are building UIs. It does this through
the use of components — self-contained, logical pieces of code that describe a portion of the user interface.
These components can be composed together to create a full UI, and React abstracts away much of the
rendering work, leaving you to concentrate on the UI design.

3
3.2 Django
Django is a high-level Python web framework that enables rapid development of secure and maintainable
websites. Built by experienced developers, Django takes care of much of the hassle of web development, so
you can focus on writing your app without needing to reinvent the wheel. It is free and open source, has a
thriving and active community, great documentation, and many options for free and paid-for support.

Django helps you write software that is:

Complete

Django follows the "Batteries included" philosophy and provides almost everything developers might want to do
"out of the box". Because everything you need is part of the one "product", it all works seamlessly together,
follows consistent design principles, and has extensive and up-to-date documentation.

Versatile

Django can be (and has been) used to build almost any type of website — from content management systems
and wikis, through to social networks and news sites. It can work with any client-side framework, and can
deliver content in almost any format (including HTML, RSS feeds, JSON, and XML).Internally, while it provides
choices for almost any functionality you might want (e.g. several popular databases, templating engines, etc.), it
can also be extended to use other components if needed.

Secure

Django helps developers avoid many common security mistakes by providing a framework that has been
engineered to "do the right things" to protect the website automatically. For example, Django provides a secure
way to manage user accounts and passwords, avoiding common mistakes like putting session information in
cookies where it is vulnerable (instead cookies just contain a key, and the actual data is stored in the database)
or directly storing passwords rather than a password hash.

A password hash is a fixed-length value created by sending the password through a cryptographic hash
function. Django can check if an entered password is correct by running it through the hash function and
comparing the output to the stored hash value. However due to the "one-way" nature of the function, even if a
stored hash value is compromised it is hard for an attacker to work out the original password.Django enables
protection against many vulnerabilities by default, including SQL injection, cross-site scripting, cross-site
request forgery and clickjacking (see Website security for more details of such attacks).

Scalable

Django uses a component-based "shared-nothing" architecture (each part of the architecture is


independent of the others, and can hence be replaced or changed if needed). Having a clear separation
between the different parts means that it can scale for increased traffic by adding hardware at any level:
caching servers, database servers, or application servers. Some of the busiest sites have successfully
scaled Django to meet their demands (e.g. Instagram and Disqus, to name just two).

Maintainable
Django code is written using design principles and patterns that encourage the creation of maintainable
and reusable code. In particular, it makes use of the Don't Repeat Yourself (DRY) principle so there is no
unnecessary duplication, reducing the amount of code. Django also promotes the grouping of related
functionality into reusable "applications" and, at a lower level, groups related code into modules (along
the lines of the Model View Controller (MVC) pattern).

Portable

Django is written in Python, which runs on many platforms. That means that you are not tied to any
particular server platform, and can run your applications on many flavors of Linux, Windows, and macOS.
Furthermore, Django is well-supported by many web hosting providers, who often provide specific
infrastructure and documentation for hosting Django sites.

3.3 AWS Cloud


Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud, with more
than 240 fully featured services. Millions of customers—including the fastest-growing startups, largest
enterprises, and leading government agencies—are using AWS to lower costs, increase security, become
more agile, and innovate faster.

3.3.1 S3
Amazon Simple Storage Service (Amazon S3) is an object storage service offering industry-leading
scalability, data availability, security, and performance. Millions of customers of all sizes and industries
store, manage, analyze, and protect any amount of data for virtually any use case, such as data lakes,
cloud-native applications, and mobile apps. With cost-effective storage classes and easy-to-use
management features, you can optimize costs, organize and analyze data, and configure fine-tuned
access controls to meet specific business and compliance requirements.

3.3.2 Amplify
AWS Amplify is everything you need to build web and mobile apps. Easy to start, easy to scale. Deploy server-
side rendered and static frontend apps, develop UI, add features like auth and storage, connect to real-time
data sources, and scale to millions of users. No cloud expertise required. Deploy an app frontend with easy Git-
based workflows and support for any server-side web framework. Zero-config Next.js and Nuxt deployments
offer global availability, reliability, and lower latency from the Amazon CloudFront Global Edge Network in just a
few clicks. Fully-managed CI/CD and automatic scale make pushing new features to high-traffic web
applications seamless.

3.3.3 DynamoDB
Amazon DynamoDB is a serverless, NoSQL database service that allows you to develop modern applications at
any scale. As a serverless database, you only pay for what you use and DynamoDB scales to zero, has no cold
starts, no version upgrades, no maintenance windows, no patching, and no downtime maintenance. DynamoDB
offers a broad set of security controls and compliance standards. For globally distributed applications, DynamoDB
global tables is a multi-Region, multi-active database with a 99.999% availability SLA and increased resilience.

5
DynamoDB reliability is supported with managed backups, point-in-time recovery, and more. With DynamoDB
streams, you can build serverless event-driven applications.

3.3.4 Cognito
Amazon Cognito lets you add user sign-up, sign-in, and access control to your web and mobile applications within
minutes. It is a developer-centric, cost-effective service that provides secure, tenant-based identity stores and
federation options that can scale to millions of users. Amazon Cognito processes more than 100 billion
authentications per month providing customer identity and access management (CIAM) for your applications.

3.3.5 Cloud Watch


CloudWatch is a service that monitors applications, responds to performance changes, optimizes resource use,
and provides insights into operational health. By collecting data across AWS resources, CloudWatch gives
visibility into system-wide performance and allows users to set alarms, automatically react to changes, and gain a
unified view of operational health.

4 Tools & Resources


Developer tools are technologies that make software development faster and more efficient. Software development
is a complex process of translating real-world objects into mathematical and electronic representations that
machines can understand and manipulate. Developer tools act as an interface between the physical reality and
computing processes. They include programming languages, frameworks, and platforms that abstract different
levels of complexity. This means you can interact with computers more easily and solve more complex problems.
Instead of working with hardware components and low-level coding languages, you can work with libraries, APIs,
and other abstractions that prioritize business use cases. Developer tools also include software applications,
components, and services that simplify the process of coding

4.1 Git
Git is a distributed version control system[9] that tracks versions of files. It is often used to control source code by
programmers who are developing software collaboratively.Design goals of Git include speed, data integrity, and
support for distributed, non-linear workflows — thousands of parallel branches running on different computers.

As with most other distributed version control systems, and unlike most client–server systems, Git maintains a local
copy of the entire repository, also known as "repo", with history and version-tracking abilities, independent of
network access or a central server. A repository is stored on each computer in a standard directory with additional,
hidden files to provide version control capabilities.[13] Git provides features to synchronize changes between
repositories that share history; copied (cloned) from each other. VSCode IDE

4.2 VSCode IDE


Visual Studio Code, commonly referred to as VS Code, is an integrated development environment
developed by Microsoft for Windows, Linux, macOS and web browsers.[10][11] Features include support for
debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded
version control with Git. Users can change the theme, keyboard shortcuts, preferences, and install
extensions that add functionality.
4.3 AWS CLI
The AWS Command Line Interface (AWS CLI) is a unified tool to manage your AWS services. With just one
tool to download and configure, you can control multiple AWS services from the command line and automate
them through scripts.

5 Functional Specifications
A functional specification is a formal document used to describe a product's intended capabilities, appearance
and interactions with users in detail for software developers. The functional specification is a kind of guideline
and continuing reference point as the developers write the programming code.

Add it from the project docs which has been shared in Teamzhive

6 Functional Flow
Make relevant changes from ppt template and add it here. Elaborate as needed.

7 Technical Flow
Make relevant changes from ppt template and add it here. Elaborate as needed.

8 REST APIs & Data Model


Make relevant changes from ppt template and add it here. Elaborate as needed.

9 Non Functional Requirements(NFRs)


While functional requirements define the functionalities a system should have, while non-functional
requirements define the characteristics. While a system can still work if non-functional requirements are not
met, it may not meet user or stakeholder expectations, or the needs of the business.

Attributes that make the product affordable, easy to use, and accessible, for example, come from non-functional
requirements. They also keep functional requirements in line, so to speak, since they often act as constraints or
quality goals for functional requirements. For example, by defining performance as a non-functional
requirement, you're essentially setting a limit on how complex certain functional features can be to ensure the
overall system meets the desired performance standards.

Non-functional requirements are often considered alongside functional requirements when prioritizing backlog
items.

0 Sample Code Snippets


Add some sample code snippets from Teamzhive. Some code snippets which can add:
Back-End: Entry Point code, Controller, Services, Config, DBConnections etc

Front-End: Entery Point code, some components, back-end connection.

7
You can also add how to run the application. Refer to Readme.md file

11 Application Screenshots
Add some screen-shots from your application.

You might also like