A comprehensive loan tracking web application built with Next.js, React, and TypeScript. Track multiple borrowers, calculate interest using three different methods, and export data to Excel or PDF.
- Dark theme with black background and gold accents
- Premium aesthetic with gradient cards and glass effects
- Mobile-responsive design
- Smooth animations and transitions
- Quick transaction entry form
- Support for "Taken" and "Returned" transactions
- One-click "Add Transaction" button
- Running balance display per borrower
- Total outstanding across all borrowers
- Three calculation methods:
- Simple Interest (without repayment consideration)
- Simple Interest (with repayment consideration)
- Compound Interest (weekly compounding)
- Side-by-side comparison of all methods
- Configurable interest rate (default: 10% per week)
- Calculate interest up to any date (not just today)
- Complete transaction history table
- Color-coded transactions (Blue for "Taken", Green for "Returned")
- Summary section with:
- Total taken
- Total returned
- Current balance by each method
- Daily interest rate
- Week-by-week breakdown for compound interest
- Date range filtering
- Edit/delete transactions
- "What-if" calculator (calculate future balance on any date)
- Export to Excel/PDF
- Search and filter by date range
- Clean, modern, mobile-responsive design
- Indian Rupee (βΉ) formatting throughout
- Date format: DD MMM (e.g., "1st Oct", "8th Nov")
- Quick actions from any page
- Offline-first functionality (browser storage)
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Date Handling: date-fns
- Export: xlsx (Excel), jsPDF (PDF)
- Storage: localStorage (can be upgraded to backend)
π GitHub: https://github.com/StarkAg/LendX
π Live Demo: https://lendx-starkags-projects.vercel.app
The application features a premium dark theme with:
- Black background (#0a0a0a) for a sleek, modern look
- Gold accents (#d4af37) for premium feel
- Gradient cards with subtle gold borders
- Glass morphism effects
- Smooth hover animations
- Custom scrollbar styling
- Node.js 18+ and npm
- Clone the repository:
git clone https://github.com/StarkAg/LendX.git
cd LendX- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
Note: No login required! The application works immediately with browser storage.
npm run build
npm start- Click "Sign up" on the login page
- Enter username, email, and password
- Click "Sign Up"
- Click "+ Add Transaction" on the dashboard
- Click "+ Add new borrower"
- Enter borrower name, interest rate, and calculation method
- Click "Add Transaction"
- Click "+ Add Transaction" button
- Select borrower (or create new one)
- Choose transaction type (Taken/Returned)
- Enter amount and date
- Click "Add Transaction"
- Click on a borrower name from the dashboard
- View transaction history and interest calculations
- Use date filters to see specific periods
- Edit or delete transactions as needed
- Navigate to borrower detail page
- Click "Export to Excel" or "Export to PDF"
- File will download automatically
{
id: string;
username: string;
email: string;
password: string;
createdAt: string;
}{
id: string;
userId: string;
name: string;
interestRate: number; // per week percentage
interestMethod: "simple" | "simple_with_repay" | "compound";
transactions: Transaction[];
createdAt: string;
updatedAt: string;
}{
id: string;
date: string; // ISO date string
type: "taken" | "returned";
amount: number;
}Calculates interest on the final balance only, from the first transaction date to the calculation date.
Calculates interest on the balance after each transaction, considering repayments.
Calculates interest weekly with compounding. Interest is added to the principal each week.
- Backend API integration
- Database storage
- Payment reminder notifications
- Advanced reporting
- Multi-currency support
- Email notifications
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.