Project Plan - bounswe/bounswe2026group11 GitHub Wiki
Project Plan
Project Overview
Social Event Mapper is a map-based platform developed as part of CmpE 354 – Software Engineering (Spring 2026) by Group 11. The platform enables users to discover, create, and manage social events in their area. The project follows a two-milestone delivery plan with a full-stack architecture spanning a Go backend, React web frontend, and React Native mobile app.
Tools & Technologies
| Layer | Technology |
|---|---|
| Backend | Go, Fiber, PostgreSQL + PostGIS |
| Web Frontend | React, MapLibre GL JS |
| Mobile | React Native, Expo |
| Infrastructure | Docker, Nginx, DigitalOcean, GitHub Actions |
| API Docs | OpenAPI 3.1 (Swagger UI) |
| Version Control | GitHub (monorepo) |
| Communication | WhatsApp, Google Meet, GitHub Issues & PRs |
Milestone 1: MVP
Deadline: April 7, 2026
Features Delivered
Authentication & Session Management
- User registration with email OTP verification
- Login with username and password
- JWT-based session with refresh token rotation (15-min access token, 14-day refresh token)
- Forgot password flow with OTP reset
- Logout with refresh token revocation
Event Management
- Create events with title, description, category, location, date/time, capacity, privacy level, and cover image
- Event discovery with search, filters (category, location radius, time), and pagination
- Event detail page with host info, participant count, and ratings
- Public join flow and protected join request flow (host approval)
- Leave event, cancel event (host), and rejoin after pre-start leave
- Event lifecycle: ACTIVE → IN_PROGRESS → COMPLETED / CANCELED
- Auto-expiry background job for stale and max-duration events
User Profile
- View and edit profile (display name, bio, avatar, gender, birth date, default location)
- Avatar upload via DigitalOcean Spaces with CDN-backed direct upload
- Host score, participant score, and final score display
- My Events page (organized, upcoming, completed, canceled tabs)
Favorites
- Save and unsave events
- Manage up to 3 favorite locations (CRUD)
Infrastructure
- Dockerized stack with Nginx reverse proxy
- Automated CI/CD via GitHub Actions (deploy on merge to main)
- Mobile APK auto-build on release
- OpenAPI specs for all endpoints
Milestone 2: Final Release
Deadline: May 14, 2026
Planned Features
Ticketing & Check-in
- Digital ticket issuance upon event approval
- QR code generation for each ticket
- Host-side QR scanner for check-in at the event
Notifications
- In-app notification center
- Alerts for join requests, approvals, event updates, and cancellations
- Delivery preference settings
Admin & Moderation
- Event reporting by participants
- Admin moderation dashboard (review, remove, ban)
- Category suggestion and approval workflow
Event Editing
- Host can update event details post-creation
- Participant reconfirmation flow for significant changes
- Changelog tracking per event
Map View
- Interactive map-based event discovery (web & mobile)
- Route preview from user location to event
Post-Event
- Discussion threads per event
- Organizer reliability scoring
- Archived event history with filters
Team Structure
| Sub-team | Members |
|---|---|
| Backend | Mehmet Kaan Ünsel, Mehmet Akif Yıldırım, Utku Yiğit Demir |
| DevOps | Mehmet Kaan Ünsel |
| Web Frontend | Oğuz Özer, Emine Türk |
| Mobile | Cansu Er, Buğra Keser, Sevde Pekköse |