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.