Society help Page
"The Digital Backbone of Your Community."
Created on 11th April 2026
•
Society help Page
"The Digital Backbone of Your Community."
The problem Society help Page solves
Manually tracking who has paid maintenance and providing receipts is a common headache for society secretaries.
The Solution: The Member Portal allows residents to "pay maintenance" and "view notices" in real-time, creating a clear digital trail and reducing disputes over payment history.
Challenges I ran into
**. Architectural & Logic Challenges
Role-Based Access Control (RBAC): One of the biggest hurdles is ensuring a Member cannot access Admin routes (like /admin-panel) by simply typing the URL. You had to implement middleware or logic to check user roles before rendering pages.
State Management: Keeping the UI updated across two different panels. For example, when an Admin approves a request, the Member panel needs to reflect that "Approved" status immediately without a manual database refresh.
- Technical Development (The "BCA Grind")
Frontend-Backend Integration: Since you've worked with Flask and HTML/CSS/JS before, connecting your Vercel-hosted frontend to a live database (like MongoDB or Firebase) and ensuring the API endpoints were secure and responsive was likely a challenge.
Responsive Design: Society members will use this on phones, while admins might use it on laptops. Making those complex tables (like maintenance logs) look good on a 6-inch screen is a classic CSS Flexbox/Grid struggle.
- Data Integrity & Security
Input Validation: Dealing with "dirty data." You had to ensure that when a member raises a complaint, they can't inject malicious code (SQL injection or XSS) into your database.
Session Management: Handling logins so that a user stays logged in while browsing but gets logged out for security after a certain period of inactivity.
- Feature-Specific Logic
Maintenance Calculation: Coding the logic for "pay maintenance." You had to handle scenarios like partial payments, late fees, or generating digital receipts, which requires precise math and date-handling in JavaScript or Python.
Broadcast Filtering: Ensuring that a broadcast sent by the Admin actually reaches the right "Members" and doesn't get lost or sent to other Admins by mistake.
Tracks Applied (1)