Coder Social home page Coder Social logo

s.o.s's Introduction

🚨 S.O.S (Speak Out Safely)

학교폭력 신고 및 대응 커뮤니티 사이트

'웹 애플리케이션 개발 프로젝트 기반 Full-Stack 개발자 양성 과정'에서 진행한 팀 프로젝트로, 수료 후에도 개인적으로 계속해서 학습하며 프로젝트를 개선했습니다.

🏫 목차

  1. 프로젝트 소개
  2. 개발 환경
  3. 개발 과정
  4. 주요 기능
  5. 보완사항
  6. 개발 후기

✒️ 프로젝트 소개

✔주제 배경

학교폭력은 사회적으로 매우 중요한 문제로 인식되고 있습니다. 학생들의 안전과 행복한 교육환경을 위해 학교폭력을 예방하고 근절하는 것이 필수적입니다. 학교폭력 신고 및 대응 커뮤니티 사이트를 통해 학교폭력에 대한 사회적 관심을 높이고, 안전하고 행복한 학교생활이 될 수 있도록 도움을 주는 것이 저희의 목표입니다.

✔차별점

  • 익명 신고 기능: 피해 학생들과 목격자들이 자신의 신분을 보호하면서도 어렵지 않게 신고할 수 있으며, 학교폭력 예방과 대응을 위한 정보를 수집할 수 있습니다.
  • 1대1 채팅: 피해 학생들이 서로 소통하며, 서로의 경험과 조언을 공유할 수 있는 안전한 공간을 제공합니다.
  • 전문 상담 서비스: 학교폭력 관련 상담이나 법률 도움을 요청할 수 있습니다. 전문가 도움을 통해 학교폭력 사건에 대해 신속하고 효과적으로 대응할 수 있습니다.

✔상업화 및 공공이익 측면

상업화 측면

  • 광고 및 후원: 사이트 내에서 광고를 통한 수익 모델이나 공익 단체, 기업들의 후원을 받을 수 있습니다.
  • 유료 부가 서비스: 향후 추가 기능이나 특별한 서비스를 제공하여 이용자들에게 유료로 제공함으로써 수익을 창출할 수 있습니다.

공공이익 측면

  • 접근성과 무료 서비스: 기본적인 신고 및 상담 서비스는 무료로 제공될 수 있어야 하며, 이를 통해 학교폭력 예방 및 대응을 위한 접근성을 높일 수 있습니다.
  • 공익적 파트너십: 공익 단체, 교육 기관, 학교 등과의 파트너십을 구축하여 학교폭력 예방과 대응을 위한 교육 프로그램, 자료 등을 공동으로 개발하고 제공할 수 있습니다.
  • 데이터 활용과 연구: 수집된 익명의 학교폭력 신고 데이터를 분석하여 문제의 규모와 패턴을 파악하고, 학교폭력 예방에 도움이 되는 정책과 프로그램 개발을 위한 연구에 활용할 수 있습니다.

✒️ 개발 환경

✔기술 스택

  • OS: Windows 11
  • Frontend: HTML, CSS, JS
  • Backend: Spring Boot, MariaDB, MySQL, H2

✔개발 도구

Git, Github, IntelliJ IDEA, Figma, ERD Cloud, Google Docs

✒️ 개발 과정

✔개발 일정

  • 1차: 2023년 5월 24일 ~ 6월 5일
    개발 일정
  • 2차: 2023년 9월 6일 ~ 9월 20일
    • 빌드를 Maven에서 Gradle Kotlin으로 변경
      Gradle Kotlin DSL은 Maven보다 강력하고 유연한 빌드 스크립트를 제공합니다. Kotlin DSL을 사용하면 빌드 스크립트를 더 간결하게 작성할 수 있으며, 더 다양한 빌드 옵션을 활용할 수 있습니다.
    • Java 8에서 20으로 업그레이드
      Java 8에서 Java 20으로 업그레이드하면 최신 Java 기능과 개선 사항을 활용할 수 있습니다. 이렇게 하면 보안 및 성능 이점을 얻을 수 있으며, 최신 라이브러리 및 도구와의 호환성도 향상됩니다.
    • 관리자 회원 웹페이지 추가
      회원가입 비밀번호 요구사항 강화, 관리자 형태에 따른 게시판 목록 표시 및 답변 폼 제출 활성화했습니다.

✔업무 분담

  • 💁‍♀️조하연 (팀장): 메인, 신고, 비공개 온라인 상담, 방문 상담, 상담사 연결, 로그인, 정보
  • 💁‍♀️장채윤: 채팅, 상담사 연결, 로그인, 정보

✔요구 분석

요구 분석

✔흐름도

흐름도 (회원가입, 로그인 없이) 흐름도 (일반 회원)

✒️ 주요 기능

✔비공개 상담 신청 게시판 목록 표시 제한

  • 작성자 이름 부분 숨김처리 및 제목 길이 표시 제한
  • 관리자 회원 형태에 따른 목록 표시 제한

✔비밀번호로 글 상세보기 접속 및 답변 유무에 따른 처리

  • 비밀번호로 글 상세보기 접속
  • 답변 유무에 따른 처리

✔게시판 제목 검색

  • 비공개 상담 및 신고 게시판 목록 검색

✔비공개 상담 폼 제출 제한

  • 연락처 및 비밀번호 형태 및 길이 제한

✔익명 채팅

  • 익명 채팅

✒️ 보완사항

  • 마스터 관리자
    모든 기능과 데이터에 접근할 수 있고, 필요한 경우 권한을 부여하고 관리할 수 있는 마스터 관리자가 있으면 좋을 것 같습니다.
  • 테스트 코드
    테스트 코드를 통해 안정성과 신뢰성을 확보하고, 새로운 기능을 추가하거나 수정할 때 예상치 못한 문제를 미리 발견할 수 있습니다.
  • 페이지네이션
    데이터나 컨텐츠가 많을 때 더 나은 내비게이션을 제공하고, 시스템의 성능을 향상시키기 위해 페이지네이션 기능이 필요합니다.

✒️ 개발 후기

우선 처음으로 참여하는 웹 개발 팀 프로젝트다 보니 전체적인 개발 진행 프로세스를 경험하는 것에 초점을 둔 것 같습니다. 요구 분석, 화면 설계, DB 설계, 컨트롤러 설계 등 구현 단계에 돌입하기 전 필요한 사전 작업이 굉장하다는 것을 알게 된 것 같아요.

기술 면에서는 이번에 처음으로 Spring Boot, IntelliJ, Git 및 GitHub를 사용하면서 MVC 패턴에 대한 이해도가 조금 생긴 것 같습니다. 또한, Spring Boot로 작업하면서 Spring Framework와의 차이점도 알게 되었고 Git와 GitHub도 어떤 방식으로 활용이 되는지 배우게 된 것 같습니다.

전반적으로 많은 것을 배우고 얻어간 것 같습니다.


이번 프로젝트를 개발하면서 기술적으로 부족한 부분을 알게 되고 이 부분을 공부하면서 개발하다보니 실력이 한단계 더 성장하였습니다. 또한 오류가 발생한 부분을 해결하기 위해 노력하다 보니 문제 해결 능력이 더 향상되었습니다.


감사합니다 📚

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.