https://github.com/irfiacre/papel
Papel is a light-weight core banking application that powers banking operations like account creation, customer deposits, and withdrawals. This app is meant to support a single bank, where users can signup and create bank accounts online, but must visit the branch to withdraw or deposit money.
https://github.com/irfiacre/papel
banking client-server expressjs html-css javascript node-js postgresql sequelize
Last synced: 3 months ago
JSON representation
Papel is a light-weight core banking application that powers banking operations like account creation, customer deposits, and withdrawals. This app is meant to support a single bank, where users can signup and create bank accounts online, but must visit the branch to withdraw or deposit money.
- Host: GitHub
- URL: https://github.com/irfiacre/papel
- Owner: irfiacre
- License: mit
- Created: 2020-01-31T18:46:53.000Z (over 6 years ago)
- Default Branch: develop
- Last Pushed: 2023-02-01T19:04:30.000Z (over 3 years ago)
- Last Synced: 2025-02-24T08:23:53.121Z (over 1 year ago)
- Topics: banking, client-server, expressjs, html-css, javascript, node-js, postgresql, sequelize
- Language: JavaScript
- Homepage: https://papelproj.netlify.app/
- Size: 2.37 MB
- Stars: 1
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PAPEL
[](https://codeclimate.com/github/irfiacre/Papel/maintainability)
[](https://travis-ci.org/irfiacre/Papel)
[](https://coveralls.io/github/irfiacre/Papel?branch=develop)
>Papel is a light-weight core banking application that powers banking operations like account
creation, customer deposits, and withdrawals. This app is meant to support a single bank, where
users can signup and create bank accounts online, but must visit the branch to withdraw or
deposit money.
### Live Link
> Papel' User Interface is hosted on the gh-pages [Papel](https://papelproj.netlify.app/)
##### N.B
>To sign in as an **Administrator**, use:
>
> - Email: admin@papel.com
> - Password: admin@123
>
>To sign in as a **Cashier**,use:
>
> - Email: cashier@papel.com
> - Password: cashier@123
>
>To sign in as a **User**, use:
>
> - Email: user@papel.com
> - Password: user@123
> - Or any other email and password.
### Features:
> - Sign in and Sign up.
> - Open bank account.
> - View user account dashboard(Transactions history):
> - Cashier can debit or credit user's bank account.
> - Administrator can change the status of a user bank account.
> - Administrator can delete a user account
> - Administrator can create a staff account
### All of the projects endpoints are hosted on [Heroku](https://papel-bank.herokuapp.com)
> For better testing, please make requests using [Postman](https://www.getpostman.com/)
### Endpoints
|HTTP Method|Endpoint |Description|
|:----------|:---------|:------------|
|POST |/auth/signup | allows the user to create an account|
|POST |/auth/signin | allows the user to sign in |
|POST|/accounts| allows the User to create a bank account
|PATCH |/account/:accountNo |allows the admin to activate/dormant a bank account
|POST |/transactions/:accountNo/credit| allows the cashier to deposit for a users bank account
|POST |/transactions/:accountNo/debit| allows the cashier to withdraw for a users bank account
|GET|/user/:userEmail/accounts|allows a user to his/her own accounts
|GET |/accounts/:accountNo|allows the user to view his/her own specific bank account
|GET |/accounts/:accountNo/transactions| allows the user to view all transactions on a specific account
|GET |/transactions/:transactionId| allows the user to view a specific transaction on a specific account
|GET |/accounts|allows the admin to view all accounts in the database.
|GET |/accounts?status=active|allows the admin to view all active accounts in the database.
|GET |/accounts?status=dormant|allows the admin to view all dormant accounts in the database.
|POST |/auth/create|allows the admin to create a staff account.
|DELETE |/accounts/:accountNo|allows the admin to delete a specific bank account
|POST |/reset|allows the user to reset their password.
*`NB: accountNo : account number`*
### Prerequisites :
- Clone this project with `https://github.com/irfiacre/Papel.git`
- Head to project directory
#### UI
- Navigate to the *index.html* file.
- Open the file in your browser preferably `Google chrome`.
- Since these HTML and CSS based pages that can be run directly in your browser.
#### API-Endpoints
##### Installation
> After clone open this in your code editor preferably Vs code.
> - `$ cd papel`
> - `$ npm install`
>
##### To run the endpoints
> `npm run dev`
##### To learn the tests
> `npm test`
### Technologies used:
>UI
> - HTML
> - CSS
> - JAVASCRIPT
> Backend-API
>- NodeJS/Express
>- PostgreSQL
>- Mocha chai
>- TRAVIS CI
### Project Management
> Project Mangement fo Papel is done using [Pivotal Tracker](https://www.pivotaltracker.com/n/projects/2432180)
### Author
[IRADUKUNDA Allelua Fiacre](https://github.com/irfiacre)