MVP Individual Contribution ‐ Omer Faruk Celik - bounswe/bounswe2026group4 GitHub Wiki

Individual Contributions


1. Omer Faruk Celik

  • Subgroup: Frontend
  • Responsibilities: Frontend development lead, UI/UX implementation, frontend architecture setup

Main Contributions

  • Set up the initial frontend project structure with React + Vite + shadcn/ui + Tailwind CSS.
  • Implemented the authentication system: login page, auth context, protected routes, and session persistence across page refreshes.
  • Built the interactive map view with Leaflet, story pins, and preview popups.
  • Created the story submission form with an interactive map pin picker and image upload support.
  • Implemented the user profile page displaying the user's submitted stories.
  • Built the responsive app layout shell with navigation bar.
  • Added the story deletion flow with confirmation dialog.
  • Implemented the automatic token refresh interceptor to prevent session drops on token expiry.
  • Created the detailed testing plan document for the project.

Significant Issues

Code-Related:

Issue Description
#157 Story submission form with map pin picker and image upload -- core feature enabling users to create stories with geographic locations
#156 Interactive map view with story pins and preview popups -- the primary interface for the platform
#152 Auth context, protected routes, and logout -- security infrastructure for the frontend

Non-Code-Related:

Issue Description
#170 Created detailed testing plan for the project
#305 Finalized RAM (Responsibility Assignment Matrix) document
#68 Created sequence diagram for viewing story on timeline

Pull Requests

PR Title Changes
#128 Create initial frontend folder structure with React + Vite + shadcn/ui +3,664 / -0
#142 Implement login page +1,721 / -34
#235 Auth context, protected routes, and logout +808 / -49
#239 App layout shell with responsive navigation +954 / -27
#248 User profile page with submitted stories +277 / -3
#249 Interactive map view with story pins and preview popups +432 / -3
#250 Story submission form with map pin picker and image upload +824 / -18
#290 Persist auth session across page refresh +93 / -4
#332 Story deletion flow on frontend +1,912 / -143
#344 Automatic token refresh interceptor (fixed token expiry causing logouts) +194 / -6

Reviews: Reviewed 12 PRs including: #346, #339, #314, #296, #291, #275, #262, #247, #238, #232, #146

Tests

  • Frontend test infrastructure setup.
  • Tests for LoginPage, AuthContext, ProtectedRoute, and api service (token interceptor).
  • Test files located in frontend/src/__tests__/.

Additional Information

  • Designed the frontend architecture with a services layer (authService, storyService, interactionService, userService) and reusable hooks (useAuth, useDebounce, useFilterState).
  • Reviewed frontend PRs from Sezin.