Buffer 3.0
With the start of Buffer 4.0 just around the corner, here is a compilation of some of the projects from last year i.e Buffer 3.0 to help you understand the ideas and implementation of the same.
Project 1: Developing a Medical Shop data management system.
~Team Mavericks
The Idea came to their mind because during the pandemic the demand for medicines had increased and it had become difficult for people to give money on the spot and keep track of the medicines bought. It had become equally difficult for the shopkeepers to keep track of how many customers still have their bill pending. As a solution to this problem they came up with this idea.
They developed the application using python language which stored the data of medicines available and its amount.
It accepted orders from the customer and binary search tree was used to search the given medicine data. The generated bill was displayed on console as well as sent to the customers through mails with an option to pay right now or later.
By using Binary Search tree, the searching process became less time consuming hence efficiency of code increased. They also used pandas Dataframes to store the medicine data imported from CSV and for bill generation after the order has been confirmed.
Being an FY the biggest problem they faced was to search for medicine data in limited time. So as a solution to it they figured out how to implement binary Search tree. For storing generated bills they choose emails as an option and CSV files were a good solution for storing and quickly updating the data they wanted to write back for medicines.
It was an amazing experience. Our team discussions enhanced our knowledge quite a lot. Early exploration of data structures boosted our confidence which further helped us in our studies. Taking extra efforts really pays off.
Project 2: Online Bookstore called the Bookworm Shack.
~Team Neophytes
As FY kids in 2021, they wanted to explore and expand their knowledge without making the project too complicated and out of their scope. Hence they decided to choose a simple problem statement and made an online bookstore.
They used structs because they didn’t really have a lot of experience with OOPs. To group all the books together, for them structs seemed like a good option.
They had a lot of contemplation about what data structure to use in the project. They were experimenting with arrays and linked lists. Also they took a long time to decide what language to use since they only had experience with C till that point. They resolved it by experimenting around until and found a combination that worked which was structs in C++.
Our experience participating in Buffer 3.0 was unique because that was the first project that me and my teammates had ever worked on together at Cummins. It was a good team building competition and it helped diversify our scope. We learnt a lot of new things in the process.
Project 3: GUI Based Map Navigation System.
~Team Brewing Java
The objective of this project was to create a user-friendly GUI based map navigation system using Java which allowed users to find the shortest route between two cities and display the adjacent cities to a given city.
The above problem statement was chosen by them because they have always been fascinated by map navigation systems and the algorithms that power them. They grabbed this opportunity as a chance to develop their skills in Java programming and web development using servlets.
Additionally, they saw the practical applications of creating a map navigation system using data structures, which can benefit people and organisations.
They used several data structures in our GUI based map navigation system. Firstly, graphs were used to represent the map and store the cities and the distances between them. They chose to use graphs because they are a natural representation of a map and allows to easily store and access the city and distance data. They used hashmaps to store the city names and their corresponding nodes in the graph because it provides constant-time access to the data, which is important for the performance of the system. Finally, they used arrays to store the visited and unvisited nodes during the implementation of Dijkstra’s algorithm. Since Arrays provide fast access to the data and allows to efficiently update the visited and unvisited nodes during the algorithm.
During the execution of the project, they faced challenges to implement both Dijkstra’s algorithm and building the GUI, but they were able to resolve these problems through collaboration and optimising the code.
As a team, we found participating in Buffer 3.0 to be a valuable experience. The competition challenged us to think critically and come up with creative solutions to complex problems. We worked together to brainstorm ideas, divide tasks, and communicate effectively to ensure the success of our project.
Project 4: Online pizza delivery portal which acts like a digital menu provided to customers when they enter the pizzeria.
~Team Gitbots
It overcomes the demerits of the manual hotel system and the old fashioned queuing system. The online food ordering system provides the menu online and the customers could easily place the order by just clicking the mouse or by touching the screen.
By bringing the food ordering system online, people could easily place orders and the admin could maintain customer’s database, which advances the food delivery system.
This food ordering system allows the user to select the desired food items from a list of available menu items provided by the local hotel or restaurant. The user can place orders for the food items of their liking from the list. It also avoids the need of pizzeria owners to manually note down the order and maintain it physically, making it easier for the owners as well as the users.
For choosing the problem statement They discussed about the problems they faced in day to day life and at the end they came up with the idea to build a solution for the online pizza ordering system.
In this project, BST was used to sort the non veg and veg pizzas which will help in searching the required pizza. In a normal binary tree, if we need to search for an element, we need to traverse the entire tree(in the worst case). But in BST, we can optimise this by using its properties to our advantage. Confirmed Orders were put into a queue. A queue is a linear data structure or a collection in Java that stores elements in a FIFO (First In, First Out) order. The queue collection has two ends i.e. front & rear. The orders are added at the rear and removed from the front. Array was used to store the pizza list of every customer and ArrayList was used to store the information of customer( i.e. name, phone number) along with the pizza list of the customer Here instead of array they have used ArrayList, because ArrayList is flexible and resizable.
It was difficult for them to find an appropriate data structure for optimal search of a particular food item. For building GUI they didn’t have much time so they presented their output on the console.
It was an incredible experience, we learned a lot. Also the mentors guided us throughout the project.
These were the experiences shared with us by some of the winners of Buffer 3.0. Eagerly waiting for this year’s submissions for more such innovative ideas, Happy coding!