Encouraging Student Partipicipation in Extra Curricular Achievements using an Incentivization Platform
Architecture of the Project
- Frontend: React
- Backend: Node.js, Express.js
- Database: MongoDB
- Wallet Extension: HTML, CSS, JavaScript
- Testing: Mocha, Chai
Features
-
Authentication for users using Private and Public Key Pair with the help of a Wallet Extension.
- window.vjcoin.importAccount()
- window.vjcoin.generateKeyPair()
- window.vjcoin.rewardTransaction(reward, receiver public key)
-
Participated in Extracurrciular activities? Submit your application
-
System and Faculty verfieis the application and rewards coins
-
Coins can be utilized in oncampus activities creating a circular economy
File Structure
.
├── client
│ ├── package.json # Maintains the dependencies
│ ├── public # Stores public files like index.html
│ └── src
│ ├── actions # Redux actions and types
│ ├── reducers # Redux reducers
│ ├── components
│ └── app.jsx # File for the main component
|
|
└── server
│ ├── package.json # Maintains the dependencies
│ ├── test
│ └── src
| ├── config
| │ ├── dbconnect.js # Database connections.
| │ └── index.js # Config object
| ├── controllers
| │ └── AuthController.js # Sample controller
| ├── middleware
| │ └── auth.js # Express middleware
| ├── models
| │ └── User.js # Mongoose model
| ├── utility # Standard utilities
| ├── views # .ejs files for mails
| ├── app.js # Main server file
| └── routes.js # Express routes
|
└── wallet-extesnion
│ ├── package.json # Maintains the dependencies
│ ├── webpack.dev.js # module bundler
│ └── src
| ├── utlitiies
| ├── background.js
| ├── contentScript.js
| ├── manifest.json
| ├── pages
| │ └── generateKeyPair.html # Sample Template
| └── css
|
├── SETUP.md
└── README.md