Goh Yi Ern
Tan Xin Yi
Kiran Mohan Bodhapati
Arissa Rashid
Naomi Kong-Vega
PLENT is your one stop school events app for students and organisers. Events are an integral part of maintaining the vibrant student life here in SUTD. They range from fifth row introductory sessions, performances, workshops and talks. However, filtering through these event advertisements on numerous platforms coupled with the repetitive signup process can be a pain. Organisers have more work cut out due to Covid-19 measures as well, such as keeping track of a participants capacity.
Click here to see a preview!
- It condenses all event information in scrollable categories
- Quicker sign up as your account information (eg. name, student ID, email) will be automatically sent to the organizers when you just click the “SIGN UP” button.
- The user can effortlessly track of all their events in a calendar view that compiles and colour-codes their events based on their categories (eg. Fifth Row, Industry Talks, Student Life).
- The user is notified if any timing clashes between events are detected
- For organisers, creation of events is standardised with “create events form” that only students with event organizer permissions (eg. EXCO members of fifth rows) are able to access and upload.
Our team used Firebase to store the credentials of the users. During sign up, once the required fields are checked for certain criteria, the email and the password are used to create a user. If the task is successful, we then get the current user from Firebase and then pass over the other details to be stored in the MongoDB database.
Our team used MongoDB to store information of both events and users. To connect our Java application with MongoDB, we created a Flask backend to process, retrieve and store data for our app.
To connect our Java application to MongoDB, our team created an API using Flask. Our API included POST requests to create new users and events (eg. Sign Up page, Create Events page), GET requests to retrieve information about both users and events (eg. Find Events page, Calendar page, Login page) and PUT requests to edit information about users and events (eg. when users sign up or cancel attendance for events).
In order to make calls to the backend, our team used the Retrofit library which makes it easy to retrieve and upload JSON (or other structured data). In Retrofit we configured a GSon converter for data serialisation. We created model classes such as “Event” and “User” which are used as a JSON model and also defined an interface containing the various methods that were used to fetch and push data to the backend.