The project will empower people who need help to get funded via a decentralized platform. The project is proposing a platform that has three major players includimg the community token holder, the needy who create a donation account, and the donors who are majorly Non-governmental Organizations (NGOs) and angelic individuals.
- The community token holders: Participate in voting funding profiles
- The Funding account: Opens donation account on the platform
- The Donors: People that want to donate to a specific profile.
*The platform will be driven by two unique tokens. *The voting token. This token will be used for voting and some other platform activities. The users earn the charity token rewards for using the voting token. *The Charity token will be the actual valuable token. That can be used for actual donation and reward active community members
The App is hosted on heroku here .
The charity token contract is available here .
The Voting token contract is available here .
* HTML for writing the webpage
* CSS for styling
* Javascript to add some behaviour
* Nodejs for server-side logic
* Babel for transpiling
* Express for api routes implementation
* Heroku for hosting services
* Mongodb for the App database
* Swagger for documentation
* IPFS for filestorage
* Solidity for smart contract
*The server folder holds the backend code
*The config folder holds the postgress connection configuration
*The controller file holds the code for handling requests processing it through the
processor queries and returning a transformed result via the transformer file
*The database folder holds the database seeder and migration files
*The middlewares folder holds the middleware files/functions for input validation,
authentication check and authorization checks
*The processor folder holds the files/functions for database queries and return the
result to the controller
*The public folder holds the ui for the apidocs
*The routes folder holds the files for the routes
*The swagger folder holds the files for the swagger documentation
*The tests folder holds the files for integrated tests
*The utils folder holds helper functions often reused accross the app such as the
response transformer function.
* Vote token contract for voting funding accounts
* Charity token contract for actual charity and donation
- Install Nodejs
- Clone this repo
git clone https://github.com/Itsdenty/Binance-Masterclass-Charity-Funding.git
- Run
npm install
to install the required dependencies - Navigate to http://localhost:3300 to lauch the home page
- Users can Signup and log in on the app.
- User Can Navigate to their dashboard.
- User can check their wallet address.
- User can check their token balance
- User can check their voteprofile
- User can swap tokens, BNB for CHT, CHT for VCT and CHT for BNB
- User can check his vote history
- User can create fund account
- User can vote a fund account for activation
- User can donate to a token account
HTTP REQUEST VERB | API ENDPOINT/PATH | ACTION |
---|---|---|
GET | /api/v1/ | Welcomes users to the application |
POST | /api/v1/user/signup | Registers a new user on the app |
POST | /api/v1/user/login | Logs in a registered user |
GET | /api/v1/balance | Allows users to check their personal address balance |
GET | /api/v1/vote | Gets user vote profile |
GET | /api/v1/vote/:address:amount | To vote for a particular funding account |
Post | /api/v1/swap | To swap user tokens |
Post | /api/v1/withdraw | To withdraw bnb from wallet |
Post | /api/v1/fund-account | To fund a donation address after activation |
Get | /api/v1/funding/:address | To get a funding account details |
Post | /api/v1/funding | To create a funding account |
Get | /api/v1/votes | To get a user vote history |
© Binance Masterclass Project group 7 Licensed under the MIT License.