Welcome to the documentation pages of the Bin Finder!
You can find here details about the Bin Finder, from a high-level vision to low-level implementation decisions, a kind of Software Development Report, organized by type of activities:
Contributions are expected to be made exclusively by the initial team, but we may open them to the community, after the course, in all areas and topics: requirements, technologies, development, experimentation, testing, etc.
Please contact us!
Thank you!
Rodrigo Pinto Pesqueira Gaspar Pombo - up202105374@up.pt
Liess Pereira Aouimeur - up202206296@up.pt
Pedro Jorge das Neves Pinto Vieira - up202206230@fe.up.pt
This app will allow the user to access a map with the distribution of trash and recycling bins around the world and be part of a community that brings our app to life by adding new bins and correcting the mistakes of others with reports. Allowing for our app to be self-suficient and fully community driven.
- Account creation and management system
- Visualization of a map with the bins and the ability to filter by specific type of bin
- Ability to add new bin in the map and specify it's type
- Voting system for each specific bin, both positive votes and reports in order to correct badly indicated bins
- The ability to get the directions to a specific bin
- A search bar showcasing nearby bins has an alternative way of searching for them, including being able to filter by specific bin type
- A score system, that gives the user points for their contributions.
Já alguma vez ficaste com o lixo na mão sem saber onde o pôr? Isto é um problema do passado.
Com o Bin Finder consegues rápida e eficazmente encontrar um lixo perto de ti! Basta abrir a aplicação e com esse simples toque ter acesso a um mapa que te indica vários lixos na tua proximidade. Também é possível visualizar os lixos em forma de lista e se isso não for que chegue podes ainda filtrar entre os diversos tipos de caixotes tanto no mapa como na lista.
O Bin Finder é dirigido pela sua comunidade, qualquer utilizador consegue dar like ou dislike de um lixo e também adicionar a localização de um contentor à aplicação. Cada utilizador pode ainda ver a sua contribuição na sua página de perfil e ver o seu impacto.
Do que estás à espera junta-te à comunidade Bin Finder hoje!
UserStats - only has derived attributes
Votes - the type attribute indicates whether it's a like or dislike
BinType - the type attribute indicates which of the 4 bins it is: BlackBin, GreenBin, YellowBin and BlueBin
A really basic application, with the 3 main pages: Profile, Map and Search with the buttons already present but that don't interact with anything yet, except the navigation bar which is functional.
We also added some example data, the map has a bin marker right on top of FEUP that can be clicked and shows more information. In the search screen there are a lot of results that are presented has buttons, although they don't yet redirect to their specific bin in the map. In both the previous screens the toggable buttons to filter by specific type of bins do toggle on and off but don't do anything yet. In the profile page there are also the edit profile and delete account buttons that also don't do anything yet.
Iteration 0 project board:
Beginning iteration 1 project board:
End iteration 1 project board:
Sprint 1 retrospective:
We had dificulties dealing with async functions and enabling the pages to pass information from one another.
Happiness meter: We are satisfied with the progress made during this sprint. We are confident that at this rate we'll be able to finish this project.
Sprint 1 changelog:
Changed/Implemented features:
- Redid the map and markers using diferent package; FEUP-LEIC-ES-2023-24/2LEIC13T3#2
- The filter buttons are now working both in the map and in the search pages (the search page will be renamed to list in the next sprint); FEUP-LEIC-ES-2023-24/2LEIC13T3#5
- Started implementing the pop-up for the markers but it's not yet finalised; FEUP-LEIC-ES-2023-24/2LEIC13T3#1 / FEUP-LEIC-ES-2023-24/2LEIC13T3#3
- Changed the profile page to have a table with data for each specific type of bin added, liked or disliked by the user; FEUP-LEIC-ES-2023-24/2LEIC13T3#4
- Started implementing a marker for the user location, not yet fully working; FEUP-LEIC-ES-2023-24/2LEIC13T3#2
Beginning iteration 2 project board:
End iteration 2 project board:
Sprint 2 retrospective:
The User Interface is for the most part already implemented, leaving, for the features implemented, just the tests and data base to be added.
Happiness meter: Due to problems with the implementation of the data base, we are somewhat satisfied with the progress made during this sprint. Thus we don't know if the complete termination of the project will be possible, particularly the tests for each user story.
Sprint 2 changelog:
Changed/Implemented features:
- The interface for the marker's pop-up was finalised; FEUP-LEIC-ES-2023-24/2LEIC13T3#1 / FEUP-LEIC-ES-2023-24/2LEIC13T3#3 / FEUP-LEIC-ES-2023-24/2LEIC13T3#5
- Added a "favorites" button for the bins, changing it's border on the map from black to amber and from green to amber on the list; FEUP-LEIC-ES-2023-24/2LEIC13T3#3 / FEUP-LEIC-ES-2023-24/2LEIC13T3#2
- It's now possible to go from the list to the bin pop-up of the bin chosen; FEUP-LEIC-ES-2023-24/2LEIC13T3#2
- The "directions" button now works and sends the user to google maps with the directions from the user position to the location of the bin; FEUP-LEIC-ES-2023-24/2LEIC13T3#3
- A table in the user profile page showing the user's number of liked bins, disliked bins and added bins for each bin type was added; FEUP-LEIC-ES-2023-24/2LEIC13T3#4
- Interface for adding bins to the map was implemented; FEUP-LEIC-ES-2023-24/2LEIC13T3#7
- The "delete account" button was implemented in the user's profile page; FEUP-LEIC-ES-2023-24/2LEIC13T3#6
- New button to center the map on the user's position was added; FEUP-LEIC-ES-2023-24/2LEIC13T3#2
- In general, the colors were changed everywhere;
Beginning iteration 3 project board:
End iteration 3 project board:
Sprint 3 retrospective:
We nearly fully implemented our app with Firebase, not only everything isn't hardcoded anymore but we also did all the user creation, the only things left to implement with Firebase would be deleting the account and changing the email.
Happiness meter: We are again somewhat satisfied. We were able to implement nearly everything except for the tests.
Sprint 3 changelog:
Changed/Implemented features:
- Created login/register user interface; FEUP-LEIC-ES-2023-24/2LEIC13T3#31
- Created forgot password user interface; FEUP-LEIC-ES-2023-24/2LEIC13T3#29
- Created verification email user interface; FEUP-LEIC-ES-2023-24/2LEIC13T3#31
- The user is now able to login or register into the app saving the user's information in firebase; FEUP-LEIC-ES-2023-24/2LEIC13T3#31
- Firebase can now send a verification email to the user; FEUP-LEIC-ES-2023-24/2LEIC13T3#31
- Firebase can now send a password recovery email to the user; FEUP-LEIC-ES-2023-24/2LEIC13T3#29
- Changed the layout of the buttons on the user's profile page; FEUP-LEIC-ES-2023-24/2LEIC13T3#6 / FEUP-LEIC-ES-2023-24/2LEIC13T3#30
- The "Sign out" and "Change password" buttons are now working with firebase; FEUP-LEIC-ES-2023-24/2LEIC13T3#30
- The map now gets the bin's information from firebase, not hardcoded values; FEUP-LEIC-ES-2023-24/2LEIC13T3#2 / FEUP-LEIC-ES-2023-24/2LEIC13T3#3 / FEUP-LEIC-ES-2023-24/2LEIC13T3#5
- The user's profile now gets it's information from firebase, not hardcoded data; FEUP-LEIC-ES-2023-24/2LEIC13T3#4
- Now any interaction from the user with a bin, meaning any like, dislike or bin added, is saved in firebase; FEUP-LEIC-ES-2023-24/2LEIC13T3#7 / FEUP-LEIC-ES-2023-24/2LEIC13T3#1
- The list now shows real values, meaning values taken from firebase, instead of hardcoded values; FEUP-LEIC-ES-2023-24/2LEIC13T3#5