Compare Banks is a web application that allows user to compare different banks and their packages to make informed decisions when selecting a bank.
This is the image of the landing page of compare banks

- Clone the repository:
git clone https://github.com/MrjjJunior/Compare_Banks.git
- Run the venv
source venv/bin/activate - install pip requirements
pip install -r requirements.txt
- install dependencies
npm install
- Start the development server:
npm run dev
- Start applicaiton:
npm run dev- Search on your browser
http://localhost:5173/. - When you've successfully navigated to the landing page of the web application click on "get started" or "compare" on the navbar to start comparing bank packages.
- You can filter the bank packages by package type which are Saving or Cheque.
- Click on "Take me to {Bank}" and it will take you to that specific bank site to create your bank account.
- Front-end developer https://github.com/jayudoye
- Database Admin https://github.com/mumugisha
- Front-end lead https://github.com/otienojoseph
- Back-end Developer https://github.com/MrjjJunior
Tshepiso Tlhong(tlhongtshepiso2@gmail.com) feel free to reach out!
-
Data collection was a major challenge in this project because it required collecting data from multiple sources. The data was collected from the following sources: FNB website ABSA website
-
Because the Bank websites did not have an API that provide us with the bank packages information, We thought of web scraping and another challenge arose which is that the bank didn't share the package information on the website but they provided the information on a PDF.
-
We created a PDF scraper to scrape the information from the PDF file.
-
Another challenge we faced, was that the PDF file was not in a standard format. It was not consistent throughout all the banks.
-
After the Data collection, it needed to be put in a database and it was a challenge because the data was not in a standard format and it was not easy to put it in a database. Knowing how to structure the tables and columns was a challenge.
-
The interaction between the database and the API was a challenge because of the format the information was stored. There were multiple tables, so we had to join them together to get the information needed.