Skip to content

monthenry/tracking-student-attendance-with-DAO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Student Attendance Tracking DAO

Welcome to the Student Attendance Tracking DAO! This decentralized application harnesses the power of blockchain technology to improve the way student attendance is tracked. Our project not only enhances transparency and efficiency but also empowers educational institutions to manage attendance seamlessly.

Overview

This project features a decentralized autonomous organization (DAO) that allows teachers to create attendance forms, track student attendance, and calculate results in real-time. The system ensures that only authorized users can perform specific actions, thanks to a robust role-based access control (RBAC) mechanism.

For a detailed academic exploration of the principles behind this project, check out our publication: STAMP: Blockchain and DAO-based Student Attendance Management Platform.

Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  1. Ganache - a personal blockchain for Ethereum development.
  2. Remix IDE - a powerful open-source tool to write, compile, and deploy Solidity smart contracts.
  3. Node.js - a JavaScript runtime for building and running the web application.

Installation Steps

  1. Compile and Deploy the Smart Contracts:

    • Open the AttendanceDAO.sol file in Remix IDE.
    • Compile the smart contract and resolve any compilation issues.
    • Deploy the contract using Ganache as your provider.
  2. Install Node.js and Web3 Dependencies:

    • Install Node.js from here.
    • Open your terminal and run the following command to install the necessary dependencies:
      npm install web3 ganache-cli
  3. Configure the JavaScript Dashboard:

    • Open attendance_dashboard.js and modify the following constants:
      • contractAddress: Set this to the deployed contract address.
      • contractABI: Use the ABI generated by Remix after deploying the contract.
  4. Run the Dashboard:

    • Open attendance_dashboard.html in your preferred web browser.
    • Input a number between 0 and 9 to assign addresses (0 for the teacher, others for students).

Usage

Teacher Dashboard

  1. Add Course:

    • Enter a course name in the "Add Course" section and click the "Add" button.
  2. Create New Form:

    • Select a course, enter student addresses (comma-separated), and click the "Create Form" button.
  3. View and Close Forms:

    • Select a form from the dropdown to view details.
    • Click the "Close Form" button to calculate attendance results.
  4. View Attendance by Course:

    • Select a course from the dropdown to view attendance results.

Student Dashboard

  1. Select Course:

    • Choose a course from the dropdown to view attendance.
  2. Select Form to Answer:

    • Choose a form from the dropdown to answer.
  3. Submit Form:

    • Check the students you want to mark as present and click the "Submit Form" button.

Important Notes

  • The teacher's address is set to 0, while addresses 1 to 9 represent student addresses.
  • Ensure that Ganache is running and the correct contract address and ABI are set in the JavaScript file.

Contributors

  • Henry Marie MONT - Project Lead & Developer

About

Tracking Student Attendance using a DAO.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published