Inspiration

Finding local roller skating events and meeting other skaters can be surprisingly difficult. Information is often spread across social media, group chats, and word of mouth, making it hard for beginners and experienced skaters alike to find a community. We built RollCall to create one place where skaters can discover events, connect with others, and grow within the skating community.

What it does

RollCall is a full-stack social platform for roller skaters that allows users to:

Create an account and securely log in Discover upcoming skating events Create and manage their own events Save events for later Mark events as attended Track attendance through a profile progress bar Upload a profile picture Add and remove friends by username View personalized profile information, including skating level and preferences

Authentication ensures users can only access protected features, and only event creators can delete their own events.

How we built it

We built RollCall using a modern full-stack architecture:

Frontend: React, JavaScript, HTML, CSS, and React Router Backend: Node.js and Express Database: SQLite Authentication: bcryptjs, express-session, and HTTP-only cookies Version Control: Git and GitHub

The frontend communicates with the backend through REST APIs, while the backend securely manages authentication, user data, friendships, events, and attendance records.

Challenges we ran into

One of our biggest challenges was implementing real authentication. Our initial prototype only validated whether login fields were filled in, so we replaced it with secure, database-backed authentication using hashed passwords and sessions.

Other challenges included:

Managing frontend and backend development environments Sending session cookies with API requests Protecting authenticated routes Restricting event deletion to event creators Keeping the UI synchronized with database updates Organizing Git branches and preventing generated files from being committed

Each obstacle helped us better understand how the frontend, backend, browser, and database interact.

Accomplishments that we're proud of

We're proud of turning an idea into a fully functional full-stack application.

Some highlights include:

Secure session-based authentication Password hashing with bcrypt Persistent SQLite database Event creation, saving, attendance tracking, and deletion Friend management system Personalized profiles with progress tracking Responsive user interface Successful team collaboration using GitHub workflows What we learned

Building RollCall gave us hands-on experience with full-stack development, from designing REST APIs to managing application state in React and working with relational databases.

We also learned that security must be enforced on the backend—not just in the frontend—and gained valuable experience debugging authentication, managing sessions, collaborating through Git, and integrating multiple technologies into one cohesive application.

What's next for RollCall

We have several ideas to continue growing RollCall into a dedicated platform for the skating community:

Friend requests and notifications Event search and filtering Location-based event recommendations Interactive maps and directions Event comments and group discussions RSVP lists and attendance limits Profile editing Password reset and email verification Event reminders and notifications Achievement badges for attendance milestones Cloud-hosted profile photos Production deployment with a scalable database and session store Improved accessibility and automated testing

Our long-term vision is to make RollCall the go-to platform for roller skaters to find events, build friendships, and strengthen their local skating communities.

Built With

Share this project:

Updates

Submission history