A modern, bilingual (Bengali) web application to track your lending and borrowing transactions.
Live Link โข Backend Repo โข Report Bug โข Request Feature
- Email/Password registration and login
- Google Sign-In with one click
- Email Verification to ensure valid email addresses
- Secure session management with Firebase Auth
- View all your lending (เฆเฆฎเฆฟ เฆงเฆพเฆฐ เฆฆเฆฟเฆฏเฆผเงเฆเฆฟ) and borrowing (เฆเฆฎเฆฟ เฆงเฆพเฆฐ เฆจเฆฟเฆฏเฆผเงเฆเฆฟ) transactions
- Tab-based navigation for easy switching between lent and borrowed items
- Pagination for handling large datasets
- Edit & Delete transactions with confirmation dialogs
- Mark as Returned to move items to history
- Quick form to add new lending or borrowing entries
- Fields: Amount, Person, Due Date, Return Date
- Automatic association with your user account
- View all completed/returned transactions
- Separate tabs for lent and borrowed history
- Delete old history entries
- View and edit your profile information
- Name, Email, Phone number management
- Sign out functionality
Note: When a user edits and saves their profile (name or phone) the updated profile is persisted to the browser's
localStorageunder the keyreeni_user_profile. This is a client-side cache that merges with Firebase user data on load โ changes saved here are not automatically sent to the backend unless you explicitly implement server-side profile persistence.
- Fully responsive design (mobile, tablet, desktop)
- Bengali language interface
- Skeleton loaders for smooth loading experience
- SweetAlert2 for beautiful confirmation dialogs
- Clean, modern design with Tailwind CSS
| Category | Technology |
|---|---|
| Frontend | React 19, TypeScript |
| Styling | Tailwind CSS 4 |
| Build Tool | Vite 6 |
| Authentication | Firebase Auth |
| Database | MongoDB (via Express backend) |
| State Management | React Context API |
| Routing | React Router 7 |
| HTTP Client | Axios |
| Animations | Framer Motion |
| Icons | React Icons |
| Alerts | SweetAlert2 |
- Node.js 18+
- npm or yarn
- Firebase project with Authentication enabled
- MongoDB backend server
-
Clone the repository
git clone https://github.com/mehediScriptDev/Reeni.git cd Reeni -
Install dependencies
npm install
-
Set up environment variables
Create a
.env.localfile in the root directory.๐ฌ Need the environment variables? Message me or open an issue to request them!
-
Start the development server
npm run dev
-
Open your browser
Navigate to
http://localhost:5173
src/
โโโ Components/
โ โโโ Add-new/ # Add transaction form
โ โโโ Auth/ # Login & Registration
โ โโโ Dashboard/ # Main transaction list
โ โโโ Header/ # Navigation header
โ โโโ History/ # Completed transactions
โ โโโ Profile/ # User profile management
โ โโโ Footer/ # App footer
โโโ context/
โ โโโ AuthContext.tsx # Authentication state management
โโโ config/
โ โโโ api.ts # API configuration
โโโ firebase/
โ โโโ firebase.init.ts # Firebase initialization
โโโ App.tsx # Main app component
โโโ main.tsx # Entry point with routing
โโโ ProtectedApp.tsx # Auth-protected wrapper
| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run preview |
Preview production build |
npm run lint |
Run ESLint |
The app connects to a backend server at https://reeni-server.vercel.app
๐ Backend Repository: github.com/mehediScriptDev/ReeniServer
| Method | Endpoint | Description |
|---|---|---|
| GET | /new-list?userId= |
Get user's transactions |
| POST | /new-list |
Create new transaction |
| PUT | /new-list/:id |
Update transaction |
| DELETE | /new-list/:id |
Delete transaction |
| GET | /history?userId= |
Get user's history |
| POST | /history |
Add to history |
| DELETE | /history/:id |
Delete history item |
- All data is user-specific (filtered by Firebase UID)
- Email verification required for new accounts
- Secure Firebase Authentication
- Environment variables for sensitive configuration
Contributions are welcome! Please feel free to submit a Pull Request.
๐ฌ Want to contribute or have questions? Message me or open an issue - I'd love to help!
This project is licensed under the MIT License - see the LICENSE file for details.
Mehedi
- GitHub: @mehediScriptDev
โญ Star this repo if you find it helpful!
Made with โค๏ธ in Bangladesh ๐ง๐ฉ
