Giter Club home page Giter Club logo

se101-watlock's Introduction

SE101

This is our final SE 101 course project in Software Engineering at the University of Waterloo. There are separate components to this project separated on different branches (server, front-end, microcontroller code).

At the center of all purchases and verification on campus is Waterloo’s own NFC (near-field communication) compatible object called the WatCard. We thus decided to use the Watcard (campus identification card) to create a university-wide bike sharing system.

The primary hardware that was utilized was an Arduino UNO, a PN532 module, and a ESP32 WI-FI board, which allowed us to scan an NFC or RFID tag and connect to the internet. These components were used to read the user ID (UID) of Watcards and once a valid UID was recognized, the Waterloo students were able to use the bike. With this system, we also track who last took out the bike for the purposes of stolen/missing bikes. Since our bike lock system operates within the university, we created a portal that allows the admin to check the availability of the bicycle and its current user.

On the Arduino UNO board, along with the PN532 module and the ESP32 WI-FI board, we used several other components such as a 180 degree rotating servo motor, an RGB LED, a buzzer, and a 9V battery as the power source. Here is a simple schematic of the configuration:

schematic.jpg

There is also a Node.js server, and a React.js front-end portal which allows admins to view information of all registered locks. The server connects to a MongoDB NoSQL database to keep track of the student, admin, and bike lock information. The ESP32 WI-FI board connects to the server through HTTP POST and GET requests through a standard WPA WI-FI connection. Here is a flow chart describing the structure of our project

Finally, there is a React Native app which allows students to check if the bikes near them are taken or available to be used.

schematic.jpg

All of the separate sections of our projects (front-end, server, etc) can be found in their respective branches.

se101-watlock's People

Contributors

ishaan35 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.