In February 2023, during my postgraduate programme, I was asked to develop an application for the Team Software Project module. The module leaders assigned the teams and we were expected to come up with a software application, in the agile way.
The application primarily aims to track the carbon emissions of an individual/household and offset them by donating to some household in any country of the user’s choice. Breaking it down, the user has to track his CO2 emissions, find one of the countries that have enough solar potential to offset and transfer money to the fictional company which will manage the offset and fund transfers. From a system perspective, we as developers were to calculate the carbon emissions by asking several questions to the end user. Based on the value, the system has to go through all the countries in the database and give the top ‘n’ countries that would match the requirement of the user. When the user selects the desired country (need not be the best country but a country of his choice), based on its solar potential and the percentage of emissions the user wants to offset, the system has to calculate the number of panels and the cost of installing the panels. Once satisfied, the system should integrate with a payment gateway and transfer money (fictionally :-p). There was also another set of users, the staff of the organization, who were responsible for managing the countries and organizing the countries’ information.
The project was scheduled to be completed in 3 months when we were given the user requirements at the start of the module, with a monthly meeting with the client (one of the staff members). We were to follow all the agile principles, create a product backlog, track the progress using Trello, create a test plan and demonstrate it on the last day of the semester. We were also asked to submit a report summarizing the study and the learning outcomes.
I was part of one of the best teams, that helped in us achieving a very good product, with most of the user requirements satisfied (more than the outcode, the process was important from the module perspective). Technically we made sure all of us were part of weekly meetings, and group coding sessions and contributed enough to make the project fun. We also had to create a video walkthrough with our voices as commentary.
NOTE: The tech stack we used: Python as the backend framework, VueJS as the front-end framework, MySQL as the database server, and Gitlab for VCS. All the frameworks were run as docker services and composed using docker-compose.
Leave a Reply
You must be logged in to post a comment.