Emitrax is a modern web application for tracking and managing EMI (Equated Monthly Installment) payments in one centralized dashboard. Built with React, TypeScript, and Vite, it provides a comprehensive solution for monitoring loan payments, remaining balances, and amortization schedules.
- EMI Dashboard: View all your active and completed EMIs at a glance
- Detailed Statistics: Track monthly payments, total outstanding amounts, and more
- Amortization Schedule: View detailed payment breakdowns for each EMI
- Google Authentication: Secure login via Google OAuth
- Responsive Design: Works seamlessly on desktop and mobile devices
- Dark/Light Theme: Choose your preferred visual theme
- Log in with your Google account to access the dashboard.
- View all your active EMIs and track remaining balances.
- Add new EMIs by clicking on the "Add EMI" button and filling in the details.
- Click on any EMI card to view detailed information and amortization schedule.
- Use the filter options to sort and view EMIs by different criteria.
- Toggle between dark and light themes based on your preference.
The application is live and accessible at emitrax.arzzam.in
- Frontend: React 19 with TypeScript
- State Management: Rematch/Redux with persist for local storage
- UI Components: Custom UI components built with Radix UI and TailwindCSS
- Database & Auth: Supabase for data storage and authentication
- Data Fetching: TanStack Query (React Query)
- Form Handling: React Hook Form with Zod validation
- Routing: React Router v7
- Build Tool: Vite
- Node.js (v18 or later recommended)
- Yarn package manager
- Supabase account for database setup
- Clone the repository
git clone https://github.com/yourusername/emitrax.git
cd emitrax- Install dependencies
yarn install- Create a
.env.localfile in the root directory with your Supabase credentials:
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_KEY=your_supabase_anon_key
- Start the development server
yarn devThe application will be accessible at http://localhost:5173.
The production version of Emitrax is deployed and accessible at emitrax.arzzam.in. The application is hosted on a cloud platform and utilizes Supabase for backend services and authentication.
src/components: Reusable UI componentssrc/context: React context providerssrc/hooks: Custom React hookssrc/router: Page components and routingsrc/store: Rematch/Redux store configurationsrc/supabase: Supabase client and type definitionssrc/utils: Utility functions
Contributions are welcome! Please feel free to submit a Pull Request.
Want to Contribute? Follow the steps below to get started!
Before you begin, ensure you have the following installed:
- Node.js: JavaScript runtime built on Chrome's V8 JavaScript engine.
- Yarn: Fast, reliable, and secure dependency management.
- Supabase: Open source Firebase alternative for database and authentication.
-
Fork this repository.
-
Clone your forked repository:
git clone https://github.com/your-username/emitrax.git
-
Change directory:
cd emitrax -
Install dependencies:
yarn
-
Create a
.env.localfile in the root directory with your Supabase credentials:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_KEY=your_supabase_anon_key -
Start the development server:
yarn dev
The application will be accessible at
http://localhost:5173. -
Make sure to add remote upstream:
git remote add upstream https://github.com/arzzam/emitrax.git # To verify the new upstream repository you've specified for your fork git remote -v -
Create a new branch:
git checkout -b new-branch-name
-
Make changes and create a pull request to the main branch.
This project is licensed under the MIT License - see the LICENSE file for details.
Give a star ⭐ if you like this project!