Skip to content

In this project, I used CURD method via MongoDB API to address the issue of inadequate credit card information for middle and lower-income groups by analyzing benefits from 100 cards of major banks. Users gain insightful, data-driven decision-making power beyond conventional marketing claims, empowering informed choices.

Notifications You must be signed in to change notification settings

Hannah-Moon/37_SBA_319_MongoDB_Database_Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SBA 319: MongoDB Database Application

: Is this the best credit card for me in 2024?

image

Problem to solve 🎯

According to The New York Times, there is a significant inequality present in credit card rewards programs, where wealthy individuals enjoy luxurious perks while the less affluent bear the financial burden, perpetuating economic disparity. These disparities can indeed exacerbate the economic gap between affluent individuals who benefit from lavish perks and lower-income consumers who ultimately subsidize these rewards. We must advocate for reforms such as reducing interchange fees and promoting competition to ensure a fairer distribution of rewards and economic benefits. As a first step, I would analyze the current credit card rewards landscape in 2024, comparing each credit card's rewards, annual fees, and APIs from the top five banks in the U.S. This would enable middle or lower-class consumers to make informed decisions to maximize the benefits available to them when considering opening credit cards.

Summary of the Top 5 Banks in the U.S. 🏦

Ranking Bank Head Quarter Total Assets Branches
1 JPMorgan Chase New York, NY $3.3 trillion 4,800+
2 Bank of America Charlotte, North Carolina $2.4 trillion 3,700+
3 Wells Fargo San Francisco, California $1.7 trillion 4,400+
4 Citibank New York, NY $1.6 trillion 650+
5 U.S.Bank Minneapolis, Minnesota $657 billion 2,300+

Inspiration and Reference 🔍

Development Time 👩🏻‍💻

Computation: 2024.04.28.-29.

Live Demo 🎬

image

Tools 🛠️

Development

MongoDB Express NodeJS npm Postman JavaScript HTML5 CSS3 Bootstrap

Environment

Visual Studio Code Git Github

Key Feature 📦

- Users can pull zero annual fee credit card.

End points 🔚

- I choose lowercase route paths, which is consistent and adheres to common conventions.

// Define routes for a each bank's credit card

// ------------------------------ [ JPMorgan Chase ]
app.get('/jpmorganchase', jpMorganChaseController.fetchAllJPMorganChases);
app.get('/jpmorganchase/:id', jpMorganChaseController.fetchJPMorganChase);
app.post('/jpmorganchase', jpMorganChaseController.createJPMorganChaseCard);
app.put('/jpmorganchase/:id', jpMorganChaseController.updateJPMorganChaseCard);
app.delete('/jpmorganchase/:id', jpMorganChaseController.deleteJPMorganChaseCard);

// ------------------------------ [ Bank of America ]
app.get('/bankofamerica', bankofAmericaController.fetchAllBankofAmericas);
app.get('/bankofamerica/:id', bankofAmericaController.fetchBankofAmerica);
app.post('/bankofamerica', bankofAmericaController.createBankofAmericaCard);
app.put('/bankofamerica/:id', bankofAmericaController.updateBankofAmericaCard);
app.delete('/bankofamerica/:id', bankofAmericaController.deleteBankofAmericaCard);

// ------------------------------ [ WellsFargo ]
app.get('/wellsfargo', wellsFargoController.fetchAllWellsFargos);
app.get('/wellsfargo/:id', wellsFargoController.fetchWellsFargo);
app.post('/wellsfargo', wellsFargoController.createWellsFargoCard);
app.put('/wellsfargo/:id', wellsFargoController.updateWellsFargoCard);
app.delete('/wellsfargo/:id', wellsFargoController.deleteWellsFargoCard);

// ------------------------------ [ Citi Bank ]
app.get('/citibank', citiBankController.fetchAllCitiBanks);
app.get('/citibank/:id', citiBankController.fetchCitiBank);
app.post('/citibank', citiBankController.createCitiBankCard);
app.put('/citibank/:id', citiBankController.updateCitiBankCard);
app.delete('/citibank/:id', citiBankController.deleteCitiBankCard);

// ------------------------------ [ U.S.Bank ]
app.get('/usbank', usBankController.fetchAllUSBanks);
app.get('/usbank/:id', usBankController.fetchUSBank);
app.post('/usbank', usBankController.createUSBankCard);
app.put('/usbank/:id', usBankController.updateUSBankCard);
app.delete('/usbank/:id', usBankController.deleteUSBankCard);

Requirement ✅

Status Requirement Weight
Use at least three different data collections within the database (such as users, posts, or comments). 5%
Utilize reasonable data modeling practices. 10%
Create GET routes for all data that should be exposed to the client, using appropriate query commands to retrieve the data from the database. 10%
Create POST routes for data, as appropriate, using appropriate insertion commands to add data to the database. At least one data collection should allow for client creation via a POST request. 10%
Create GET routes for all data that should be exposed to the client. 5%
Create POST routes for data, as appropriate. At least one data category should allow for client creation via a POST request. 10%
Create PATCH or PUT routes for data, as appropriate, using appropriate update commands to change data in the database. At least one data collection should allow for client manipulation via a PATCH or PUT request. 10%
Create DELETE routes for data, as appropriate, using appropriate delete commands to remove data from the database. At least one data collection should allow for client deletion via a DELETE request. 10%
Include sensible indexes for any and all fields that are queried frequently. For fields that may have a high write-to-read ratio, you may forgo indexes for performance considerations. Make comments of this where applicable. 5%
Include sensible MongoDB data validation rules for at least one data collection. 5%
Populate your application's collections with sample data illustrating the use case of the collections. You must include at least five sample documents per collection. 5%
Utilize reasonable code organization practices. 5%
Ensure that the program runs without errors (comment out things that do not work, and explain your blockers - you can still receive partial credit). 10%
Commit frequently to the git repository. 5%
Level of effort displayed in creativity and user experience. 5%

Bonus 🎁

Status Requirement Weight
Use Mongoose to implement your application. +1

License 🖨

Copyright © 2024, Hannah Moon. Released under the MIT License.

About

In this project, I used CURD method via MongoDB API to address the issue of inadequate credit card information for middle and lower-income groups by analyzing benefits from 100 cards of major banks. Users gain insightful, data-driven decision-making power beyond conventional marketing claims, empowering informed choices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published