- 📌 Introduction
- ✨ Features
- 📁 Project Structure
- 🏗️ Architecture
- 🧾 Code Overview
- 🚀 How to Use
- 🛠️ Requirements
- 📌 Notes
Ray Finance is a desktop application designed to fetch and display financial metrics of top companies in different sectors using real-time data scraping from screener.in. The app offers a tabbed interface and a user-friendly GUI powered by CustomTkinter.
###Scope
This document covers the featured, project structure, architecture, code overview, how to use, requirements and guidelines for this Ray Finance project.
- 🔐 Login Authentication: Simple login screen to restrict access.
- 📁 Sector-Based Analysis: Choose between IT Outsourcing and FMCG sectors for comparison.
- 📊 Real-Time Data: Uses web scraping to pull updated metrics from screener.in.
- 📈 Key Financial Metrics: Includes Sales Growth, Profit Growth, ROE, and Stock Price CAGR.
- 🖥️ Responsive GUI: Scrollable, styled tables for better readability.
- 🧭 Tabbed Navigation: Additional tabs for Gold Market and Debt Investing.
MyAwesomeApp/
├── app/
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/myawesomeapp/
│ │ │ │ ├── activities/
│ │ │ │ ├── adapters/
│ │ │ │ ├── models/
│ │ │ │ ├── repositories/
│ │ │ │ ├── viewmodels/
│ │ │ │ └── utils/
│ │ │ ├── res/
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
├── build.gradle
└── settings.gradle
- activities: Contains Activity classes responsible for UI screens.
- adapters: Includes adapters for RecyclerView and other UI components.
- models: Defines data models used in the app.
- repositories: Handles data operations and business logic.
- viewmodels: Manages UI-related data in a lifecycle-conscious way.
- utils: Contains utility classes and helper functions.
git clone https://github.com/diptadeepray/Ray-Finance-App.git
cd Ray-Finance-App
It's recommended to use a virtual environment to manage dependencies.
# For macOS/Linux
python3 -m venv venv
source venv/bin/activate
# For Windows
python -m venv venv
venv\Scripts\activate
All the installed Python packages, in the virtual environment, along with their versions is listed in the requirements.txt. All the python packages can installed, in any virtual environment later, using the following command in the terminal:
requirements.txt:
pip install -r requirements.txt
- To exit the virtual environment, run:
deactivate - If you add new packages, don’t forget to update
requirements.txt:pip freeze > requirements.txt
- Login Interface: Authenticated access with a simple GUI built using CustomTkinter.
- Dropdown-Based Sector Selection: Choose between IT Outsourcing and FMCG sectors for analysis.
- Live Web Scraping: Extracts and processes financial data from
screener.in. - Dynamic UI: Scrollable and responsive tables for multiple companies and financial metrics.
- Tabbed Layout: Share Market, Gold Market, and Debt Investing tabs with dynamic content loading.
📦 RayFinance ├── 🧠 user_interface.py # Main GUI file with login, tabs, and dynamic analysis rendering ├── 🔍 WebScraping_IT_Screener.py # Scraper for TCS and IT sector competitors ├── 🔍 WebScraping_FMCG_Screener.py # Scraper for HUL and other FMCG companies
- Frontend GUI: Built with
customtkinterfor an enhanced look and feel of the desktop app. - Web Scraping Modules:
WebScraping_IT_Screener.py- Scrapes TCS and other major IT companies.WebScraping_FMCG_Screener.py- Scrapes HUL and other major FMCG companies.
- Backend Logic: The scraping results are returned as structured tables and injected into the UI dynamically on selection.
- Initializes the app window and handles login authentication.
- On successful login, shows tabs and dropdown to select sectors.
- Dynamically imports and runs the appropriate web scraping module based on selection.
- Displays the results in styled, scrollable tables inside the Share Market tab.
- Scrapes data from TCS, Infosys, Wipro, HCL Tech, Tech Mahindra, and LTIMindtree.
- Extracts and aligns metrics like:
- Compounded Sales Growth
- Compounded Profit Growth
- Stock Price CAGR
- Return on Equity
- Scrapes financial metrics from companies like HUL, Nestle, Britannia, Dabur, ITC, and more.
- Follows the same extraction logic as the IT screener for consistency.
- Ensure you have Python 3 installed and run the following to install dependencies:
pip install requests beautifulsoup4 customtkinter- Run the application:
python user_interface.py- Login using:
- Username: admin
- Password: 1234
- Select a sector from the dropdown and click "Run Analysis".
- Wait a few moments while real-time data is fetched and displayed.
- Python 3.8 or above
requestsbeautifulsoup4customtkinter
- The scraping is done directly from public sources without any API dependency.
- Ensure a stable internet connection while scraping data.