Borstal Microfinance Bank App is a web application designed to manage microfinance banking operations. The application features functionalities such as customer management, file uploads, analytics, and staff authentication. It is built with React, Redux for state management, Ant Design, and Tailwind CSS for styling.
The system's frontend is designed to manage backups, monitor analytics, and interact with customers, giving the bank an interface for manual and cloud-based data management.
The project follows a typical React application structure with the following folders: ├── public │ └── index.html # Main HTML template ├── src │ ├── assets # Static assets like images and icons │ ├── components # Reusable UI components (e.g., buttons, tables) │ ├── layouts # Layout components (e.g., GeneralLayout, Sidebar) │ ├── pages # Application pages (e.g., CustomerPage, FilesPage) │ ├── redux # Redux store and slices │ │ ├── authSlice.js # Authentication slice for login/logout actions │ │ ├── fileSlice.js # File management slice for file uploads │ │ ├── taskSlice.js # Task management slice for handling tasks │ ├── services # API services and helper functions (e.g., Axios setup) │ ├── styles # Global and component-specific styles (using Tailwind CSS) │ ├── App.js # Main app component │ └── index.js # Application entry point └── package.json # Project dependencies and scripts
- App.js: Main component that sets up routing and layout.
- GeneralLayout.js: Contains the general structure, including the sidebar, navbar, and content area.
- redux/authSlice.js: Manages user authentication, including login, logout, and staff ID.
- BackupModal.js: Handles the file backup functionality, including file uploads.
- CustomerPage.js: Displays a list of customers and their details (e.g., Name, Loans, Account Balance).
- SettingsPage.js: Manages app configurations and user preferences.
- AnalyticsPage.js: Shows various statistics and insights for business performance.
- React: A JavaScript library for building user interfaces.
- Redux: State management library for handling global state.
- React Redux: Integration of Redux with React.
- Ant Design: UI component library for modern and responsive design.
- Tailwind CSS: Utility-first CSS framework for styling.
- Axios: HTTP client for making API requests.
- Redux Toolkit: Manages global state across the application. The
authSlice
is used for user authentication and includes actions such as login, logout, and document upload.
The application uses Redux for global state management, particularly for authentication, tasks, and file uploads.
- authSlice.js: Contains the authentication state, including the staff ID used for login, as well as actions for logging in, logging out, and handling uploads.
- fileSlice.js: Manages the state related to file uploads, such as uploading backup files.
- taskSlice.js: Handles task-related functionality such as assigning, updating, and deleting tasks.
- Login: Dispatches a login action with the staff ID.
- Logout: Dispatches a logout action, triggering the BackupModal.
- UploadDocument: Manages the upload of backup files.
- Task Management: Handles creating, updating, and deleting tasks.
- Authentication: Users (staff) can log in using their staff ID. Redux manages the authentication state.
- File Management: Users can upload backup files through the BackupModal.
- Customer Management: Displays a list of customers and their financial details.
- Analytics: Provides insights and statistics on business performance, customer loans, account balances, etc.
- Settings: Manages user preferences and application configurations.
- Task Management: Allows staff to create, update, and manage various tasks within the application.
StaffID: CC123AB Password: password
To run this project locally, follow these steps:
- Clone the repository:
git clone [https://github.com/yourusername/borstal-microfinance-bank](https://github.com/OthmanImam/Borstal_MFB_App).git