Full-stack capstone projects batch #28

by Ruben Villalon

Student coding an app

Flower Empower - A Volunteer Management System (Full-time)

Students: Emir Murati, Tim Groshaupt, Valdilene Siqueira, Josie Fessey, Pooja Kumbhar

Flower Empower Homepage


Problem

Flower Empower is a charity based in Santa Barbara that for over 10 years has delivered leftover flowers to sick, bereaved, and elderly people in the community. Every Saturday, volunteers come together to arrange the flowers into bouquets or drive them to people in need.

However, the database system they are currently working with to coordinate the volunteers is very time-intensive and difficult to maintain. At present, on Friday evenings the charity trustees have to send out email reminders to all of the volunteers manually, plan the drivers' routes using Google Maps, and create an overview for the day in an Excel spreadsheet. The volunteers sign in and out on the day and their volunteer hours are also manually added to the database by the trustees.

Flower Empower login page


Solution

This project aims to create an online volunteer portal to streamline this process. The volunteer logs into their account, chooses a date to volunteer and the confirmation email is sent to them automatically. If they are a driver, they will receive a planned route and the approximate time it will take them to drive it. If they are a Bouquet maker, they will receive detailed instructions on flower arranging. A plan for the day is automatically generated for the staff, and the volunteer hours can be updated by the volunteers directly.

Our goal is to cut down on the repetitive Friday preparation time for the staff, and also allow them to grow their charity and expand to even more routes and cities should they want to.
    
Flower empower - Events

 
Technical features

  • Geoapify API: Takes the exact coordinates of the addresses in the list, finds the best routes, and splits them among the drivers.
  • Automated email reminder sent using Python once the user selects a date to volunteer.
  • Database Integration: Selects data from the original spreadsheet and uploads it to the online portal.


Technology stack

The website was designed using React and JavaScript for a dynamic frontend, combined with Django and Python in the backend for robust data processing. We use Docker for containerization and PostgreSQL for the database. Everything is hosted on DigitalOcean for reliable performance, and GitLab is used for efficient version control management.


Outlook

In the future, Flower Empower would like to implement the following features:
  • A functional map app so that each driver can download their route and use it on the delivery, and a large map of all the routes in the staff overview.
  • Automatic deletion of volunteers/ recipients if they stop volunteering or stop having flowers delivered for over a year.
  • Online database of the flower growers, to streamline the pickup as well as the delivery.
  • Recipients can add desired delivery time and instructions for delivery (which is especially important when delivering to hospitals or nursing homes).
  • More advanced and complex analysis of collected data, with the addition of AI.
  • Spanish language options (46% of people in Santa Barbara are Hispanic).
  • Forums for volunteers to discuss delivery/bouquet arrangements, share advice, and collaborate.
 

Panelista - Connecting event organizers with diverse speakers (Full-Time)

Students: Ali Emre Kuzucu, Sabin Tamang, Miren Bengochea, Margarita Ferreira
 

panelista

Problem

Event organizers face challenges in creating diverse panels for their events, leading to a lack of varied representation on stage. This limits the scope of discussions and fails to engage audiences with different backgrounds and perspectives. Finding diverse speakers can be time-consuming and difficult, and existing methods do not effectively support the inclusion of underrepresented voices.
 

Solution

Panelista addresses these issues by providing a platform for event organizers and speakers to register. Event organizers can manually search the database using filters or a chatbot to find suitable speakers. If a specific speaker is not found, organizers can create an event to be displayed on the event page, inviting speakers to apply. This streamlines the process of finding and booking diverse speakers, ensuring a more inclusive representation on stage.

Find a speaker page


Description

Panelista aims to increase diverse representation in public events by offering a community-driven database of speakers from various backgrounds and levels of experience. By making it easier for event organizers to find and book diverse panelists, Panelista ensures that more voices are heard and more perspectives are represented. The platform is open to all speakers, with no fees or checks, empowering them to take control of their event participation.

Find an event


Technical features

  • Speaker Profiles: Speakers can create detailed profiles, including their experience, expertise, and speaking topics.
  • Search & Filters: Event organizers can search for speakers using various filters or describe their needs to a chatbot.
  • Event Listings: Organizers can list events that need speakers, allowing interested speakers to apply.
  • Notifications: Organizers receive email notifications when speakers apply to their events.
  • Community-Driven Database: The platform relies on a community-driven database, ensuring it remains current and comprehensive.


Tech stack

  • Frontend: React, Redux
  • Backend: Python, Django
  • Styling: Tailwind CSS
  • Database: PostgreSQL
  • Containerization & Deployment: Docker, DigitalOcean
  • CI/CD: GitLab CI/CD
  • Chatbot: DocsBot

Outlook

  • Add Speaker Reviews: Enable organizers to rate and review speakers they’ve hired, enhancing the credibility and reliability of speaker profiles.
  • Upgrade Chatbot: Integrate a more cost-effective and adaptive chatbot to improve the organizer’s workflow.
  • Admin Dashboard: Develop an admin panel for app statistics and insights, providing better management and analytical capabilities.
  • Mobile & Responsive Design: Create a mobile version of the app and ensure it is responsive across all devices, offering a seamless user experience.

By continuously evolving and adding new features, Panelista aims to remain the go-to platform for event organizers seeking to create diverse and engaging panels, ultimately contributing to greater equity and representation in public discourse.


HR Genie -  Take Care of Your Team Members Seamlessly (Part-time)

Students: Daniele Scopece, Luka Cafuta, Alexander Stöhr, Quentin Lamare, Beate Skarsta


HR Genie Login page


Problem

Managing the absences of team members (for sickness, maternity leave, or vacations) can be cumbersome and time-consuming to many managers whose aim is to guarantee the continuity of the service seamlessly. Furthermore, keeping track of the residual number of vacation days for every employee or detecting suspicious behavior (e.g. connections between vacations and sick leave) can be problematic to follow, as well as the acceptance of courses and training for the employees to stimulate their productivity and making them willing to stay in the company.


Solution

HR Genie aims to be the only source of truth for seamless management of the absences and training for employees, managers, and HR personnel of small, medium, and large-sized businesses. It stimulates interaction among the managers and the employees divided by departments and teams. 


HR Genie - Homepage

Description

Every employee can post a request for absences (vacation, sickness leave, maternity leave) with the relative beginning and end time and date. Every employee finding an interesting training can also request to their managers the possibility to attend them by declaring their cost.
The direct manager of the involved employee can review the calendar of the absences of the entire team and accept or deny the vacations. Likewise, the manager can accept or deny training on the same platform. The managers can also post their vacations and request the approval of their managers.
Charts allow the managers to have a visualization of the requests, the residual vacations, and the trainings in a visually appealing manner.

HR Genie - Manager Items page

Technical Features

  • Stored information of all employees: contact information, responsible manager, team members, working hours, etc.
  • The duration of every absence is computed by considering the actual working hours of every employee
  • The code allows to implementation of the business hierarchy seamlessly: managers have managers on their own.
  • Flexible absence time, allowing also a few hours of absence
  • Divide the employees by manager: the person in charge of approving their absences and pieces of training
  • Different views for employees, team managers or company administrators
  • The manager reviews the summarized information in appealing charts
  • Calendar view to have an overview of the absences at teams or company level
  • List of requests for absences and training visible only to the manager in charge of the approval

HR Genie - Calendar page


Tech stack

  • HR Genie exploits state-of-the-art technology in Front and back-end development to guarantee continuous improvement over the versions.
  • The Back End leverages the latest Django REST frameworks, integrated with PostgreSQL to allow for vertical and horizontal scaling and Digital Ocean for versatile uploading of documents.
  • The complex calculations (e.g. duration of the absences) are computed in the Back End and the endpoints are built to represent the information easily in the Front End.

  • The Front End leverages React and various tools like React-Router, React-Redux, Axios, Styled-Components, Recharts, and React-Big-Calendar.

  • Both the Front End and the Back End leverage on a CI/CD pipeline through GitLab.

HR Genie - Manager Dashboard


Outlook

The future releases will include extra visualizations for managers and employees (e.g. a calendar of the shifts) and higher flexibility for both the company administrator and the employees. The employees will be able to share the advancement status of their training and e-mail notifications on new requests published and a change of status of approval will also be developed. Flexibility to modify the information of the employees (working hours) will also be implemented. A web app for mobile phones is also in the development pipeline.
 

Final words

Take your career to new heights with Constructor Academy's cutting-edge Full-stack web development bootcamp. Get ready for a future full of opportunities. Constructor Academy is committed to empowering aspiring developers like you, helping you uncover your true potential, and paving the way for unmatched success. Join us on this exciting adventure, and let's shape the future of full-stack development together.

Interested in reading more about Constructor Academy and tech related topics? Then check out our other blog posts.

Read more
Blog