2026 · completed · web
Cycoders
Cycoders is a centralized platform for managing a college coding club, its members, events, registrations, announcements, and administrative workflows.
overview
Cycoders was built to replace fragmented club operations that were previously handled through forms, spreadsheets, group chats, and manual coordination.
The platform provides students with a single place to discover club activities, register for events, access updates, and interact with the community. Administrators can manage events, registrations, members, announcements, and platform content through a dedicated dashboard.
The frontend is built with Next.js, while the backend uses Node.js and Express with PostgreSQL, Drizzle ORM, and Better Auth. The application is designed to support both public club content and protected administrative operations through a structured full-stack architecture.
the problem
College technical clubs often rely on multiple disconnected tools for event registrations, announcements, member records, and internal management. This creates duplicated work, inconsistent data, and a poor experience for both students and organizers.
Cycoders solves this by bringing club discovery, event registration, member management, and administrative operations into one unified platform.
highlights
- Event Discovery and Registration
- Students can explore upcoming events and register directly through the platform.
- Member Management
- Club administrators can manage member records and participation data.
- Admin Dashboard
- Authorized users can create events, review registrations, update content, and manage club operations.
- Secure Authentication
- Better Auth protects administrative routes and user-specific actions.
- Centralized Data Management
- PostgreSQL stores event, user, registration, and content data in a structured format.
- Responsive Interface
- The platform works across desktop and mobile devices.




at a glance
architecture
sequenceDiagram
actor Student
participant UI as Next.js Frontend
participant API as Express API
participant Auth as Better Auth
participant DB as PostgreSQL
actor Admin
Student->>UI: Browse available events
UI->>API: GET /events
API->>DB: Fetch published events
DB-->>API: Return event records
API-->>UI: Return event list
UI-->>Student: Display events
Student->>UI: Register for an event
UI->>API: POST /events/{eventId}/register
API->>Auth: Validate user session
Auth-->>API: Session valid
API->>DB: Check existing registration
DB-->>API: No duplicate found
API->>DB: Create registration
DB-->>API: Registration saved
API-->>UI: Return confirmation
UI-->>Student: Show registration success
Admin->>UI: Open admin dashboard
UI->>API: Request registrations
API->>Auth: Verify admin access
Auth-->>API: Admin authorized
API->>DB: Fetch event registrations
DB-->>API: Return participant records
API-->>UI: Return registration data
UI-->>Admin: Display participant listchallenges
- 01
Managing Event Registrations
Preventing duplicate registrations and keeping participant data consistent was a key challenge.
fixI added server-side validation and database constraints before creating registrations.
- 02
Building Role-Based Access
Public users and administrators required different levels of access.
fixI used authenticated sessions and protected backend routes for administrative operations.
- 03
Keeping Frontend and Backend Data Consistent
Event and registration updates needed to appear correctly across the platform.
fixI created structured API responses and centralized the data flow through the Express backend.
learnings
- Full-Stack Architecture. I learned how to connect a Next.js frontend with a separate Express backend and PostgreSQL database.
- I gained experience protecting routes and separating public and administrative permissions.
