-
Notifications
You must be signed in to change notification settings - Fork 1
Project Plan
Mehmet Akif Yıldırım edited this page Apr 7, 2026
·
1 revision
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.
| 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 |
Deadline: April 7, 2026
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
Deadline: May 14, 2026
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
| 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 |
👥 Team Members
- Lab 1 Report (12.02.2026)
- Lab 2 Report (19.02.2026)
- Lab 3 Report (26.02.2026)
- Lab 4 Report (05.03.2026)
- Lab 5 Report (12.03.2026)
- Lab 6 Report (26.03.2026)
- Lab 7 Report (02.04.2026)
- Lab 8 Report (16.04.2026)
- Lab 9 Report (30.04.2026)
- Lab 10 Report (07.05.2026)
- Customer Meeting (17.02.2026)
- Weekly Meeting 1 (17.02.2026)
- Weekly Meeting 2 (25.02.2026)
- Weekly Meeting 3 (04.03.2026)
- Stakeholder Meeting (10.03.2026)
- Weekly Meeting 4 (11.03.2026)
- Database Design Meeting (18.03.2026)
- Weekly Meeting 6 (25.03.2026)
- Weekly Meeting 7 (01.04.2026)
- Weekly Meeting 8 (15.04.2026)
- Weekly Meeting 9 (06.05.2026)
- Scenario 1 - Discovering and Joining an Event
- Scenario 2 - Private Event Organization
- Scenario 3 - Public Event Organization
- Use Case Diagram (Final)
- Scenario 1 Use Case Diagram
- Scenario 2 Use Case Diagram
- Scenario 3 Use Case Diagram
- All Sequence Diagrams
- Sequence Diagram - Oğuz Özer
- Sequence Diagram - Emine Türk
- Sequence Diagram - Cansu Er
- Sequence Diagram - Sevde Pekköse
- Sequence Diagram - Buğra Keser
- Sequence Diagram - Mehmet Kaan Ünsel
- Sequence Diagram - Utku Yiğit Demir
- Sequence Diagram - Mehmet Akif Yıldırım