Fun project developed as a group for the final project of the "Técnicas de Programação 1" (Programming Techniques 1) college subject, in which we learned about object-oriented programming, interfaces, inheritance, abstraction, and polymorphism. For the project, we had the choice of using Swing or JavaFX, so we chose JavaFX because of the CSS support and more recent features. We used Apache NetBeans 15 as the text editor and builder, Gluon Scene Builder to make the interfaces, Java 8, and JavaFX 19.
We also made a report describing the project with more details, available only in Portuguese here.
The application consists of finding products and ranking establishments inside the campus. Users can either be an owner or a client, owners can create stores and manage them, and clients can search and rate any store with comments and a grade. As an arbitrary rule, the platform is only for establishments inside the university (Universidade de Brasília) campus. The rating grades are inspired by the grading system inside the university.
- User sign-up, login, and logout
- Create, rate, and search for stores
- Different interfaces for owner and client
- Edit profile and stores
- Database using .ser files of stores and users
- Customized no top-bar window
- Complete branding created from scratch
- Fully stylized with CSS
The name was inspired by mixing two words "UnB" the university of Brasília abbreviation, and "Busca" which means "search", a straightforward concept to show that is an app to search for something from the university. Made a really nice logo in Adobe Illustrator with the name and two graphic elements, the star in the "U" letter to remind of the rating system, and the search bar, which shows the main purpose of the app. Using a simple pallette that consists of three colors, we followed basic UI concepts to design.
- Daniel: Branding, UI interface design, and report
- Bernardo: Most frontend functions and backend
- Heitor: Client frontend
- Profa. Roberta Barbosa: Teacher that oriented us and proposed the project
The project is missing some features that we have not implemented yet, it's still a work in progress. Here is a list we made to follow:
- Registration screen
- Login screen
- Initial screen
- Complete Registration screen
- Client screen
- Ratings screen
- Owner's screen
- Shop Screen
- Create/Edit Stores screen
- Create/Edit Products Screen
- Create/Edit Ratings Screen
- Edit Profile screen
- User creation
- User verification
- Formatting input fields
- Create owner profile
- Edit profile
- Database
- Search engine
- Create/Edit stores
- Create ratings
- Create products
- Custom user images
- Light mode
- Language support