Saif807380 / vjti-central

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Encouraging Student Participation 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
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

Flowcharts of the Project
Generate key Pair

Import Account

Transaction

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
|
├── SETUP.md
└── README.md

      
Screenshots

About

License:GNU General Public License v3.0


Languages

Language:JavaScript 88.3%Language:EJS 8.9%Language:CSS 1.8%Language:HTML 1.0%