MVP Milestone Individual Contribution: Oğuz Özer - bounswe/bounswe2026group11 GitHub Wiki
Oğuz Özer (Frontend)
Responsibilities
Developed major parts of the web frontend application for the MVP.
Contributed to web authentication, event creation, event discovery, event detail, My Events, favorites, profile, and participation history flows.
Made the entire web frontend mobile-responsive across all pages.
Set up the frontend test coverage reporting pipeline and published it to GitHub Pages.
Contributed to requirements, scenario work, sequence diagrams, and roadmap alignment.
Participated actively in code reviews and technical discussions.
Took part in MVP demo preparation and helped plan the demo flow.
Helped organize meetings, prepare agendas, and produce wiki documentation.
Main Contributions
Initialized the React + Vite + TypeScript web application and helped establish the frontend MVVM architecture baseline.
Implemented core web authentication flows including registration with email OTP, login with multi-identifier support, forgot password, session persistence, and protected route guards.
Built the full event lifecycle on the web: create event (with location picker, image upload, tags, and constraints), event discovery with search/filters/pagination, event detail with privacy-aware actions, My Events with hosted/upcoming/active/past tabs, and host cancel flow.
Implemented the three participation flows on the web: public direct join, protected join-request submission, and host-side join request approval/rejection.
Implemented the Favorites page (events + locations tab), favorite toggle on event detail, and event expiry warning banner (53–60 days).
Improved the profile system: default location editing, and participation history.
Designed and implemented the split-screen landing page with interactive mouse-reactive dot-grid background animation.
Made the entire web frontend responsive across mobile viewports with a slide-in sidebar, floating action button, and fluid layouts on every page.
Set up the frontend vitest coverage pipeline with a single-file HTML report published to GitHub Pages alongside the backend coverage report.
Contributed to requirements refinement, scenario preparation, sequence diagram work, and wiki documentation.
Pull Requests
PR #221: Implemented the web login and signup flow with email OTP verification.
PR #222: Built the app shell, primary navigation, and session persistence layer.
PR #229: Implemented the Create Event page including location picker, image upload, tags, and constraints.
PR #230: Added the Event Discovery page with search, filters, and pagination.
PR #242: Implemented the Event Detail page with full event info and host management actions.
PR #271: Implemented the join event flow (public direct join and protected request submission).
PR #274: Added the My Events page with organized, upcoming, active, and past tabs.
PR #275: Added the host-side approve/reject flow for join requests on protected events.
PR #306: Implemented the host event cancellation flow.
PR #308: Added the new split-layout landing page with an interactive dot-grid animation.
PR #311: Migrated the My Events page to use dedicated backend endpoints instead of the stale profile response.
PR #375: Added full mobile responsiveness across the entire web application.
PR #376: Added the favorite toggle button on the event detail page.
PR #377: Added the event expiry warning banner for events nearing auto-completion (53–60 day window).
PR #386: Added the Favorite Locations tab to the Favorites page with Nominatim search.
PR #388: Added default location editing to the profile page.
PR #394: Fixed the upcoming event card badge styling.
PR #398: Polished the Create Event and Event Detail UX.
PR #402: Polished event cards and favorite locations UX details.
PR #404: Added participation history to the profile page.
PR #407: Unified the favorite and My Events card badges using shared card behavior.
Tests
API service layer with silent token refresh, retry, and concurrent refresh deduplication — api.test.ts
Set up the frontend test coverage pipeline: vitest + v8 coverage provider, a custom script that generates a single-file self-contained frontend-coverage.html, and a GitHub Actions workflow that publishes it to the gh-pages branch. The report is available at https://bounswe.github.io/bounswe2026group11/frontend-coverage.html alongside the existing backend coverage report.