Inspiration
We were inspired by the opportunity to contribute to a meaningful cause that directly benefits a welfare home. The project gave us the chance to use our technical expertise to improve the lives of individuals in need. It reminded us of the power of technology to bridge gaps and create systems that simplify daily operations for both users and administrators.
What it does
Our web-based Minimart and Voucher System is designed to serve the welfare home audience, particularly the boys at Muhammadiyah Welfare Home. At its core, the system offers a gamified experience for earning and spending vouchers, making it more engaging and motivating for the residents.
How we built it
- Frontend
We used Next.js to build a dynamic and responsive interface, paired with TailwindCSS for rapid UI styling. Redux manages the global state across different pages and components, ensuring a predictable and maintainable architecture.
- Backend
Our backend is powered by Flask, providing a lightweight yet robust environment for API handling and business logic. We chose PostgreSQL for data storage, leveraging its reliability, scalability, and strong community support.
- Integration
The frontend communicates with the backend through RESTful APIs, allowing for clean and consistent data exchange. This approach ensures seamless connectivity between the two layers, facilitating a smooth user experience for both residents and administrators.
Challenges we ran into
- Time Constraints
Balancing a tight timeline with the need to implement numerous features from the problem statement was challenging. Prioritizing essential functionality while delivering a polished experience demanded clear planning and consistent communication.
- Dual Perspectives
Designing for both users (residents) and admins (MWH staff) required iterative refinements. It was crucial to keep the interface intuitive for residents while ensuring that admins had all the necessary tools at their disposal.
- State Management
Integrating Redux for application-wide state tracking introduced complexity. We needed to maintain a clear structure, ensure data consistency across components, and handle edge cases to prevent state synchronization issues.
- Backend Integration
Ensuring efficient API communication between the Next.js frontend and Flask backend introduced challenges in debugging and performance optimization. We had to carefully manage request/response handling to provide a smooth experience for end-users.
What we learned
- Communication
Collaborating as a team underscored the importance of clear communication to keep everyone aligned on ideas and approaches.
- Technical Skills
We expanded our proficiency in frontend and backend development, successfully integrating modern tools like Next.js, Redux, Flask, and PostgreSQL. Balancing design, performance, and functionality taught us how to optimize user experience without compromising on efficiency.
- Design Thinking
We improved our ability to empathize with both end-users (residents) and admins, creating a more intuitive and goal-oriented platform. Iterative feedback loops ensured our final product effectively addressed real-world constraints and requirements.
What's next for H4G 2025 Team YFZ
- Auction System
We plan to implement a bidding feature where residents can bid using their voucher points, introducing a fun, competitive element to the Minimart.
- XP & Customization
An experience points (XP) system will reward user engagement, enabling residents to level up and unlock new customization options for their profiles.
- Achievements & Leaderboard
We aim to implement achievement badges and a leaderboard, letting residents showcase their accomplishments and fostering a sense of community and healthy competition.
Built With
- flask
- nextjs
Log in or sign up for Devpost to join the conversation.