Kemal Mahmutoğulları Individual Contributions MVP - bounswe/bounswe2026group4 GitHub Wiki

Kemal Mahmutoğulları Individual Contributions MVP

  • Subgroup: Backend + DevOps
  • Responsibilities: Backend development, DevOps/infrastructure, deployment, CI/CD pipeline, database setup

Main Contributions

  • Set up the complete CI/CD pipeline (GitHub Actions for automated tests + auto-deploy on merge).
  • Provisioned and configured the production VPS on DigitalOcean.
  • Created the production Docker setup (docker-compose.prod.yml, Nginx reverse proxy, production Dockerfile).
  • Configured Nginx with SSL (HTTPS via Let's Encrypt).
  • Implemented the CD pipeline for automatic deployment on merge to main.
  • Set up the initial MySQL database.
  • Implemented like/unlike endpoints for stories.
  • Implemented the image upload endpoint for story media.
  • Implemented the public user profile endpoint.
  • Added GET /stories/{id}/comments/ endpoint.
  • Wrote comprehensive README with deployment guide.
  • Simplified and created GitHub issue templates early in the project.

Significant Issues

Code-Related:

Issue Description
#281 Provision VPS and deploy MVP stack -- made the application publicly accessible
#303 Add CD pipeline to auto-deploy main to production -- automated deployment workflow
#171 Implement like endpoints for stories -- key interaction feature

Non-Code-Related:

Issue Description
#2 Created initial issue templates for the repository
#103 Added Pull Request template
#42 Arranged meeting with stakeholder Utkan Gezer

Pull Requests

PR Title Changes
#18 Added issue templates +259 / -0
#24 Simplified issue templates and added quick_issue +121 / -144
#27 YAML template bug fix +31 / -11
#134 CI pipeline for backend tests and frontend checks +113 / -0
#144 Initial MySQL database setup +2,313 / -50
#242 Like/unlike endpoints for stories +285 / -14
#243 Image upload endpoint for story media +503 / -6
#244 Public user profile endpoint +405 / -6
#276 GET /stories/{id}/comments/ endpoint +177 / -7
#285 Production Django settings +40 / -1
#286 Production backend Dockerfile and entrypoint +56 / -0
#287 Nginx reverse proxy for production +86 / -0
#288 Production docker-compose and environment template +85 / -0
#304 CD workflow to auto-deploy main to production +38 / -0
#334 README with deployment guide +212 / -37

Reviews: Reviewed 14 PRs including: #345, #321, #271, #270, #261, #259, #237, #236, #222, #149, #148, #132, #126, #125. Primarily reviewed Aysu's backend PRs.

Tests

  • Backend tests for like endpoints, image upload, and user profile.
  • Gamification tests (models, services).
  • Tags tests (models).
  • Test files located in backend/apps/*/tests/.

Additional Information

  • Single-handedly set up the entire production infrastructure (VPS, Docker, Nginx, SSL, CD pipeline).
  • Database administrator -- set up and maintained MySQL throughout the project.
  • Most experienced with DevOps tooling in the team.
  • Early contributor to project organization (issue templates from week 1).
  • Close collaboration with Aysu on backend development (reviewed all her PRs).