Project
# | Title | Team Members | TA | Documents | Sponsor |
---|---|---|---|---|---|
23 | Clickers For ZJUI Undergraduate Mk Ⅱ |
Benlu Wang Luozhen Wang Suhao Wang Zhenyu Zhang |
design_document1.pdf final_paper3.pdf proposal2.pdf |
Fangwei Shao | |
# TEAM MEMBERS Zhenyu Zhang (zhenyuz5) Benlu Wang (benluw2) Luozhen Wang (luozhen2) Suhao Wang (suhao2) # PROBLEM I-clicker is an educational tool employed by ZJUI to fulfill the digital demands of the classroom, serving as a class check-in and answer device. However, the existing transmitters and receivers face limitations in terms of their capacity to handle substantial loads, high signal delay, and signal loss. These constraints hinder the device's ability to effectively meet the requirements of a large number of users. Additionally, the current I-clicker system fails to cater to the preferences of students who prefer to utilize mobile applications for participation. # SOLUTION OVERVIEW This project aims to design and develop a comprehensive classroom response system that supports multiple frontends, including web browsers, mobile applications (iOS and Android platforms), WeChat Mini Programs, and physical Clickers. Additionally, a user-friendly web-based interface will be created to provide teachers with intuitive management functionalities. The system incorporates a high-concurrency unified backend equipped with distributed and in-memory databases, offering caching capabilities to efficiently handle large volumes of student submissions, as well as perform evaluation and statistical analysis. The project also entails the shell design and implementation of a distributed and energy-efficient transmission system for the physical Clickers and their receivers to address the limitation of signal loss. # SOLUTION COMPONENTS This project encompasses four essential components: frontend development, backend optimization, hardware improvement, and enclosure design. ## Frontend Development: For instance, we can develop a user-friendly web-based interface using popular frontend technologies such as HTML, CSS, and JavaScript. This interface can be accessible through standard web browsers on various devices, offering teachers the flexibility to manage the voting result. Additionally, as part of the meticulous frontend development process, the project aims to provide students with diverse options to interact with the voting system. As we possess a physical clicker as part of our system, our commitment lies in ensuring compatibility and functionality between the mobile app and the physical clicker, allowing both to transmit signals that can be effectively processed by the receiver. Furthermore, if time permits, the project can also develop WeChat Mini Programs. These lightweight applications within the WeChat ecosystem provide a seamless and familiar voting experience for students who prefer to use the WeChat platform. ## Backend Development: By constructing a high-concurrency unified backend, fortified with distributed and in-memory databases, the system will be empowered with caching capabilities capable of effectively managing the influx of student submissions. In this scenario, the system can employ a distributed database system, such as Apache Cassandra or Amazon DynamoDB, to handle the storage and retrieval of student submissions. By distributing the data across multiple nodes, the system can benefit from increased scalability and fault tolerance. To further enhance performance, an in-memory database, such as Redis or Apache Ignite, can be utilized as a caching layer. This allows frequently accessed data, such as student responses and evaluation results, to be stored in memory for faster retrieval, reducing the need to repeatedly access the distributed database. ## Hardware Improvement: Recognizing the significance of enhancing reception capabilities, the project dedicates attention to the development of a distributed and energy-efficient transmission system for the physical Clickers and their corresponding receivers. The voting system incorporates a System-on-Chip (SoC) solution to handle both the transmitter and receiver functionalities. The SoC, such as ESP32 or STM32, integrates microcontroller capabilities and offers built-in wireless connectivity options like Wi-Fi or Bluetooth. The SoC transmitter facilitates the transmission of votes from the voting devices to the central system using its dedicated peripherals for user input. The SoC receiver receives the transmitted votes, establishes a reliable connection with the voting devices through Wi-Fi or Bluetooth, decodes the received data, and manages the voting information effectively. This integrated approach utilizing SoC technology ensures seamless bidirectional communication, efficient data transmission, and reliable vote collection within the voting system. ## Enclosure Design: In addition to the technical facets, the project encompasses the meticulous design of an enclosure, using 3D printing technology, specifically tailored for the physical Clickers. This component embraces the principles of aesthetics, functionality, durability, ergonomics, and user-friendliness. By prioritizing these design considerations, the enclosure aims to enhance the overall user experience, ensuring that the physical Clickers are comfortable to handle and operate. # CRITERION FOR SUCCESS Concurrency Handling: Build a high-concurrency backend system for efficient processing of large volumes of student submissions concurrently. Affordability: Develop cost-effective i-clickers to promote widespread adoption and accessibility for students. Support for Multiple Frontends: The system should be designed to support multiple frontends, including mobile applications, web browsers, and dedicated software, ensuring compatibility, seamless interaction, and consistent user experience across various platforms. Signal Stability: Ensure reliable signal reception in challenging environments and minimize signal loss within classrooms. Distributed and Energy-Efficient Transmission: Implement a distributed transmission system with low-power consumption to optimize device performance and energy efficiency. Aesthetic Design: Create visually appealing i-clicker shell designs that are widely accepted and facilitate customization through 3D printing. # DISTRIBUTION OF WORK Benlu Wang: Responsible for designing and developing web-based interfaces, mobile applications, and WeChat Mini Programs to provide a range of frontend options for students to interact with the voting system. Zhenyu Zhang: Tasked with optimizing the backend infrastructure, including the development of a high-concurrency unified backend, distributed and in-memory databases, and efficient data management for seamless operations. Luozhen Wang: Responsible for designing and creating customized enclosures for the physical Clickers using 3D printing technology, ensuring an aesthetically pleasing, functional, and user-friendly design. Suhao Wang: In charge of improving the hardware components of the voting system, particularly focusing on the development of a distributed and energy-efficient transmission system using System-on-Chip (SoC) technology. |