- User can Login / Register himself on the platform.
- User can view the application for loan applied by himself.
- User can apply for new loan.
Technologies/libraries used:
- ReactJS - For frontend.
- ExpressJS - For Backend.
- MongoDB - Used as Database.
- Mongoose - connnect backend with remote database instance.
- node.js - Javascript Runtime.
- antd - frontend UI components.
- JWT - JSON WEB TOKEN for token authentication.
- Redux - For handling state in the app.
- React-Router-Dom - For Routing between pages.
- bcrypt - For Encrypting Passwords.
- cors - For enabling data sharing between frontend and backend hosted on different servers.
- User land on the login page, if a valid token is saved locally then the user is redirected to the dashboard else he'll have to login through the credentials.
- After login a token will be saved locally for future authentication.
- On dashboard the user can see a list of his loan application alongwith there status[Pending/Approved/Rejected].
- There are two buttons on the dashboard, one is to apply for a new loan and secong to log out from the app.
- For applying for a new loan the user will see a from where he need to enter the details for loan application.
- Some validation is applied for form submition on both frontend and backend.
- The minimum amount of loan is for Rs 10,000 and the minimum time period to payback the loan is 1 years.
- The Monthly Installments can't be less than 1/10th of the loan amount.
- The starting date of the loan should be later than today's date.
- Furthermore while applying for the loan, authentication is done at backend again for security reasons.
- on clicking the logout button, the user will be logged out of the app and the locally store token will be destroyed.
- Furthermore there are some add features for Admin user, he/she can either approve or reject a loan application.
- Admin user can view all the loan application in the Database on his dashboard.