Due to Computer Issues, we could not properly screen record our website but we hope the concept of our website is clear and apologize for any inconvenience. Please call us up in person if you would like a clearer demonstration.
Inspiration
Our inspiration was to make the operations of SWE much easier with an effective but simple web interface. The time spent taking attendance for members can be better used for other resources within the club.
What it does
The User Page:
The website requires users to create a profile to keep track of their attendance in both weekly general meetings and board meetings. If the user is already a member, they can simply log in, otherwise, they will make an account. The signup form disallows any repeated netIDs and RUIDS to make sure each user is a unique user. It then takes you to the user webpage that lets you confirm your attendance if there is an ongoing event (handled by the admin). If the user has already confirmed their attendance or the event is not opened by the admin the user cannot register twice. Depending on whether the meeting was a general meeting or a board meeting, their meeting count will increment by one on their dashboard. Also embedded in the user profile are the SWE link, their Instagram account, and their latest Twitter post to allow users to engage with their content more.
The Admin Page:
The admin can start sessions of general meetings or board meetings during club time. Only when the session is running can the users confirm their attendance, otherwise access will be denied. The admin page also allows the admin account to delete certain users, by entering their netIDS, as well as modify meeting attendance as necessary in case a member forgot to log their attendance. All the information on the members is logged in the table at the bottom of the page. The table is automatically sorted in descending order from who attends the most general meetings. CTRL-F can be used to find certain members or information. Their names NetIDs, RUIDs, general meetings, board meetings, major, graduation year, and email.
How we built it
We started with a simple PHP template and expanded from there. First, we stumbled our way through SQL initialization with PHP, and eventually, Kusum got it hosted locally on her laptop, where we could view the database itself, which was useful for testing purposes.
After that, the second major hurdle was learning how exactly to input, update, and delete elements in the SQL database. We also had to learn different ways to do so, such as by index or by comparators.
Once we had the basics down, it was only a matter of the finishing touches. We added more functionality through the site such as the admin’s power to manually change a user’s attendance numbers, and the addition of also tracking board meeting attendance. We searched for as many bugs as possible and cleaned up the overall presentation.
Challenges we ran into
We both had nearly no prior experience with any of the technologies we used for this project, so we had to simultaneously learn the basics of SQL, PHP, HTML, and CSS.
What made this project even more challenging was that Dan’s laptop was still in the repair center, so work was done at Hill Center where he used one of the iLab computers. Unfortunately, since Kusum was hosting SQL locally on her Windows computer and we could not figure out how to get SQL hosted locally on Linux, we only tested on her laptop.
Accomplishments that we're proud of
We are proud of being able to make a functioning site for database management within such a short timeframe. Instead of just a proof of concept, we managed to create a fully operational tool that is more efficient than their current method of meeting attendance tracking.
We are also proud of efficiently compartmentalizing the work for this project. Dan focused on the administrator side such as the admin dashboard, admin/user interaction, and event management, while Kusum focused on the user experience and account management, such as sign in/login pages, the user dashboard, and social media embedding. In the end, it was a real team project instead of one member’s portion of the work being significantly larger than the other’s.
What we learned
To get started we had to get acquainted with SQL, PHP, HTML, and CSS which we had little to no prior knowledge of before this event. After learning some fundamentals, we got straight to sketching out a flowchart for how we wanted the user page and admin page to interact with each other. We quickly implemented our tables in SQL. SQL is a relational database that allows us to create tables of data. We used tables to hold the information about our users and functions we want running at certain commands. SQL is very flexible with how we can handle data as it let us modify existing data, insert and delete data, and find relevant information by sending out a query to the database to search for specific data. During the implementation code, we did run into a GitHub merge conflict which we learned to fix. During this project, we learned to properly communicate to evenly distribute workloads and gauge what we can accomplish in the time we had. We prioritized the functionality of the work before implementing the UI interface.
What's next for The Best SWE Meeting Tracker
SWE holds the potential to become a much more powerful tool over time. Creating QR code access codes for members that admin users can use to sign in to members physically at the events would be a powerful tool to implement. A search method for the table other than CTRL-F would be implemented for an easy way to find information about a user. A sorting method for the users within the table to be able to sort them on things like most meetings, alphabetical names, and the other columns to be able to access certain information easier. Given more time and no financial constraints, we could have a website hosted on a web browser for public access, however, getting a domain name present on the web takes up to 48 hours. The main focus of this project was functionality rather than UI. There was some UI integration on the webpage, however, I believe it can be improved to be more appealing to users.
Log in or sign up for Devpost to join the conversation.