In this article, you will have an overview of our Portfolio project that we decided to call Survey Storm, the goal of this project was to provide a tool that will help people working with surveys and statistics. Letting them build custom surveys. The intent is to be able to use it everywhere and for anyone, from Web or Mobile devices.
We are a team of three students :
- Adrien Millot, who managed the team, worked on our API and the Mobile APP.
- Simon Brard, who was responsible of the Web Interface and worked on our API.
- Nathan Lapeyre, who was responsible of the API, the database and worked on the Web Interface.
Currently studying at Holberton School, we chosed this thematic in order to challenge our skills on various aspects as much Back-end as Front-end. For this, we decided to use the followed technologies :
- MySQL for our database.
- Python Flask for our API, using sqlalchemy for the Object-Relational Mapping.
- Flutter for our Mobile APP.
As we wanted the possibilities for the User to use Web, Mobile or other devices to be able to build their custom surveys, we chosed to make a Web server, an API server and a Database server. You can see the all details above of how our Infrastructure works.
First Week Progress
For the first week, we had successfully manage our deadline, we intended to have functional models, database storage and that we could start to send request to our API entrypoints. We added some late functionalities like export in CSV and JSON.
We had some challenges to overcome as personal working environment issues, the working pace was challenging too as we had to do extra hours the evenings but it was a good investment of time for the next parts of the project.
At this point we’ve planned the next goal for the second week, as we needed our first visual with Web interface that needed our common focus.
Second Week Progress
During the second week, we had done all API models entrypoints and a first functional web interface with a majority of elements. We intended to have our MVP for Wednesday 20/10/2021, with all functional API entrypoints and a web interface to present.
We still had some issues with personal working environment but it was starting to be resolved, we had to manage our stress in order to stay focus and in time for our deadlines and manage correctly our time, to avoid being to tired for the last week.
For the next week, we decided to start working on the Mobile APP, improve the API functionalities, add the statistics calculation and enhance the web interface with statistics graphs rendering.
Third Week Progress
As wanted for the third and last week, we added the statistics management by the API and the graphs rendering on Web Interface. Same for the Mobile App that was able to render graphs too and similar visual as the Web part.
It was propably the most challenging week, as we were growing tired and stress management was a little more difficult but it was a very good experience, and we had fixed as much bugs as we could in order to present the better possible first release of Survey Storm
Preview of some functionalities
We’ve learned many things from this project and it was very rewardo, it allowed us to apply what we’ve learned and face new challenges on various aspects such as :
- Organizing the project, done by using Scrum vision and Kanban methodologies.
- Communication between each other and management of a team.
- Improving skills in Object-Relational mapping and Database.
- Jquery and designing Web interface.
- Learning new language by using Flutter for Mobile App.
We’ve really took pleasure in working on this project together, it has pushed ourselves and satisfied our resoluteness and curiosity, it was really great to work together on this challenge.
Most difficult challenges
As we wanted to improve security on our project, we had to work on authentification and user roles, as we didn’t had too much knowledge on how to manage that we had to learn, fail and retry by finding new solutions to make our authentification works, it’s mainly the same issue for other aspects that we didn’t knew before doing the project, and those challenges are a part of what help us improves ourselves and develops knew skills in order to achieve what we had planned.
They’re were some other issues as said earlier, for example some of us didn’t had the best working environment (Computer issues, time disponibility, communication, etc…) that we have overcome as well.
If you want to learn more feel free to give a look at our github repository and profiles :