A CTRL+HACK+DEL 2024 Submission
Authors: Timothy Yung, Lindsay Xie, Wendy Shen, Aldrich Mendes
CarePoints is a project developed to address the need for accessible home care services while fostering community engagement through volunteerism.
This platform connects clients in need of home care services with volunteers who are eager to help, rewarding them with points and recognition for their contributions.
- Front-end: Next.js + Material UI
- Back-end: JavaScript + Node.js
To run the project locally, follow these steps:
- Start the Node.js server by running the file
startnode.jslocated in the top-level directory. - In a separate terminal, run
npm run devto start the development server.
The idea for CarePoints was born from the increasing demand for home care services and the desire to create a platform that encourages volunteerism. By gamifying caregiving with a points-based system, we aim to make volunteering more engaging while addressing real-world needs.
- For Clients: Create job postings for services such as Housekeeping, Health Monitoring, and Nutritional Support.
- For Volunteers: Browse job postings via a personalized dashboard with filters for distance, type of care, and availability.
- Recognition System: Volunteers earn points and ratings for completed jobs, fostering motivation and community spirit.
- The front-end was developed using Next.js and styled with Material UI for a clean and responsive user interface.
- The back-end was built with Node.js and JavaScript, handling server-side logic, database interactions, and file management.
- Key features include user authentication, job filtering, location-based services, and a points system to track volunteer contributions.
- Integrating the front-end with the back-end proved challenging, particularly when managing API calls and ensuring seamless state management across components.
- Implementing real-time updates for job postings required significant debugging.
- Ensuring secure yet user-friendly login functionality was another complex aspect of development.
- Handling file operations in Node.js presented technical hurdles that demanded creative solutions.
- Successfully implementing a secure authentication system for both clients and volunteers.
- Creating a personalized dashboard that allows volunteers to view tailored job opportunities based on their preferences.
- Developing a functional points system to reward volunteers for their efforts.
Through this project, we gained:
- A deeper understanding of back-end technologies like Node.js and their interaction with files and databases.
- Hands-on experience with state management in Next.js and optimizing front-end performance.
- Insights into designing user-friendly interfaces using Material UI.
We envision several enhancements for CarePoints:
- Real-time Notifications: Alert volunteers about new job postings instantly.
- Messaging System: Enable direct communication between clients and volunteers.
- Advanced Geolocation Services: Improve distance-based filtering accuracy.
- Reward System: Allow volunteers to redeem points for tangible benefits or community recognition.
- Mobile App Support: Expand accessibility by developing mobile applications for iOS and Android.
CarePoints is more than just a platform—it's a step toward building stronger communities through meaningful connections between those in need and those willing to help.
