Quick Credit is an online lending platform that provides short term soft loans to individuals. It seeks to solve problems of financial inclusion as a way to alleviate poverty and empower low income earners.
Demo Users
Email Address Password Access [email protected]
admin Admin access [email protected]
user User access
- User (client) can sign up.
- User (client) can login.
- User (client) can request for only one loan at a time.
- User (client) can view loan repayment history, to keep track of his/her liability or responsibilities.
- Admin can mark a client as verified, after confirming his/her home and work address.
- Admin can view a specific loan application.
- Admin can approve or reject a client’s loan application.
- Admin can post loan repayment transaction in favour of a client.
- Admin can view all loan applications.
- Admin can view all current loans (not fully repaid).
- Admin can view all repaid loans.
- User can reset password.
- Integrate real time email notification upon approval or rejection of a loan request.
Ensure you have the following installed on your local machine:
-
Make sure you have
nodejs
,postgres
installed. -
Clone or fork repo🤷♂
- git clone https://github.com/meetKazuki/QuickCredit.git - cd QuickCredit - npm install
-
Create a PostgreSQL database by running the command below in
psql
createdb -h localhost -p 5432 -U postgres quickdev
-
Create/configure
.env
environment with your credentials. A sample.env.example
file has been provided to get you started. Make a duplicate of.env.example
and rename to.env
, then configure your credentials. -
Run
npm run start:dev
to start the server and watch for changes
Test specs are implemented using mocha & chai.
-
To test or consume the API locally, you can make use of Postman to simulate a front-end client.
-
If you want to take the step below, first create a PostgreSQL database by running the command below in
psql
.createdb -h localhost -p 5432 -U postgres quicktest
-
There is also a test script that you can fire up by running
npm test
.npm test
performs a single full test suite run, including code coverage reporting.
All API requests are made by sending a secure HTTPS request using one of the following methods, depending on the action being taken:
POST
Create a resourceGET
Get a resource or list of resourcesPATCH
Update a resource
For POST
and PATCH
requests, the body of your request may include a JSON payload.
Each response will be returned with one of the following HTTP status codes:
200
OK
The request was successful400
Bad Request
There was a problem with the request (security, malformed)401
Unauthorized
The supplied API credentials are invalid403
Forbidden
The credentials provided do not have permissions to access the requested resource404
Not Found
An attempt was made to access a resource that does not exist in the API500
Server Error
An error on the server occurred
URI | HTTP Method | Description |
---|---|---|
/api/v1/auth/signup |
POST |
Create an account |
/api/v1/auth/signin |
POST |
Log-in to account |
URI | HTTP Method | Description |
---|---|---|
/api/v1/users |
GET |
Fetch all Users |
/api/v1/users/{email} |
GET |
Fetch a single user by email |
/api/v1/user/loans |
GET |
Fetch all loans by a user |
/api/v1/loans/ |
GET |
Fetch all loans |
/api/v1/loans/{id} |
GET |
Fetch a single loan by id |
/api/v1/loans?status=approved&repaid=false |
GET |
Fetch all loans that are not fully repaid |
/api/v1/loans?status=approved&repaid=true |
GET |
Fetch all loans that are fully repaid |
/api/v1/loans/{id}/repayments |
GET |
Fetch all repayments for a loan |
/api/v1/loans |
POST |
Create a loan request |
/api/v1/loans/{id}/repayment |
POST |
Create a loan repayment record |
/api/v1/loans/{id} |
PATCH |
Update a loan record status |
/api/v1/users/{email}/verify |
PATCH |
Update a loan user's status |
- Design for Developers by Sarah Drasner
- Github Sign In/Sign Up page
- A quick guide to styling buttons using CSS by Ashwini Sheshagiri
- Button Hover Effects by Dave Conner
- CSS Flexbox by CSSTricks
- w3Schools
- Building a Simple API with NodeJS & Express by Olawale Aladeusi🙌
- Node-postgres Docs
The QuickCredit API is open-sourced software licensed under the MIT license.
If for some reason you find this repo useful, please give me a star🙏