This repository contains a Solidity smart contract for managing student registrations for a hackathon. The contract is designed to handle both in-person and online participants, collect necessary information, and provide various utility functions for efficient registration management.
- Student registration for hackathon (both in-person and online)
- Update existing registrations
- Configurable minimum age requirement (with absolute minimum safeguard)
- Tracking of in-person and online participants
- Handling of dietary restrictions and lodging needs
- Implementation of safeguards against common edge cases
- Capped total number of registrations
- Enums:
Skillset,ParticipationType,DietaryRestriction - Struct:
StudentDatafor comprehensive student information - Functions for registration, updates, and data retrieval
- Events for logging registration attempts and updates
registerOrUpdateStudent: Register a new student or update existing registrationgetStudentByAddress: Retrieve a student's data by their Ethereum addressisStudentRegistered: Check if a student is registeredgetTotalRegisteredStudents: Get the total count of registered studentsgetInPersonStudentsCount: Get the count of in-person studentsgetOnlineStudentsCount: Get the count of online students