Skip to content

dosp74/iNoti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 

Repository files navigation

0. 팀명 및 팀원

팀명 : iNoti

팀원 : 문정은, 이석호, 편선아, 한종서

1. 프로젝트 개요

image

대학생활에서 유용한 정보를 얻을 수 있는 곳은 생각보다 가까이에 있는데, 바로 학교 홈페이지의 공지사항이다. 이 프로젝트는 대학생들이 학교 홈페이지의 공지사항에서 필요한 정보를 놓치지 않도록 '공지사항 알리미' 시스템을 개발하는 데 목적이 있다. 사용자가 관심 있는 키워드를 설정하면 관련된 공지사항이 올라올 때마다 알림을 통해 확인할 수 있도록 하여 정보의 접근성을 높이며, Java로 구현해 클래스 설계, 예외 처리, 멀티스레드 프로그래밍, 정규표현식, 네트워크 프로그래밍 등을 실습하는 것을 목표로 한다.

2. 주요 기능

image

2-1. 회원가입 및 사용자 정보 저장

사용자는 ID, 패스워드, 이메일 정보를 입력하여 회원가입을 하고, 입력한 정보는 데이터베이스에 저장된다. 이후 사용자는 ID, 패스워드를 통해 로그인할 수 있다.

2-2. 알림 키워드 설정

로그인 후, 사용자는 공지사항 알림을 받을 키워드를 지정한다. 키워드는 1개 이상 지정할 수 있으며 설정한 키워드는 필요 시 수정 및 삭제가 가능하다.

2-3. 공지사항 크롤링 및 알림 전송

자동화 프로그램인 Selenium을 사용하여 광운대학교 공지사항 홈페이지를 일정 시간마다 크롤링하고, 최신 공지사항이 있는지 확인한다. 새로운 공지사항이 있을 경우, 설정 키워드를 포함한 공지사항이 있는지 검사하고, 해당 공지사항이 발견되면 그 링크 주소를 사용자의 이메일로 보낸다. 이후, 이메일로 보낸 알림 내역 또한 데이터베이스에 저장된다. 사용자는 등록한 이메일을 통해 알림을 받고, 공지사항 페이지로 바로 접속할 수 있다.

2-4. 회원 탈퇴 기능

사용자는 회원 탈퇴가 가능하며, 탈퇴 시 데이터베이스에서 모든 사용자 정보(아이디, 패스워드, 이메일, 설정 키워드)가 삭제되고 알림은 오지 않는다.

✨ 프로젝트 ERD ✨

Untitled (1)

3. 역할 분담

문정은
Selenium을 사용해 광운대 공지사항을 크롤링하고, HTML 파싱을 통해 키워드가 포함된 정보를 추출한다. 추출된 공지사항에서 키워드 일치 내용을 회원 DB와 매칭해 알림 링크를 가져오는 기능을 구현한다.

이석호
사용자 정보와 키워드 데이터를 저장, 관리하며, 회원가입, 키워드 수정, 탈퇴 시 정보 삭제 등 DB 처리를 담당한다.

편선아, 한종서
크롤링된 공지사항 링크를 메일이나 알림으로 사용자에게 전달하는 시스템을 개발하고, 스프링부트를 통해 크롤링, DB 연동, 알림 전송이 통합된 서비스를 제공한다.

4. 개발 일정

1주차(11/11~11/17)

: 프로젝트 기초 설정 및 주요 기능 설계

  • 프로젝트 구조 설정 및 환경 구성
  • 데이터베이스 스키마 설계와 사용자 정보 관리 기능 초기 구현

2주차(11/18~11/24)

: 크롤링 및 사용자 키워드 매칭 기능 개발

  • Selenium을 사용하여 공지사항 크롤링 기능 구현
  • 사용자가 등록한 키워드와 크롤링한 공지사항을 매칭하는 로직 개발
  • 크롤링 주기 설정 및 데이터 최신화 기능 추가

3주차(11/25~12/1)

: 알림 기능 및 통합 테스트

  • 이메일 알림 기능 구현 및 테스트
  • 크롤링, 키워드 매칭, 알림 기능을 스프링 부트 서버에서 통합하여 테스트 진행
  • 사용자 정보 수정 및 탈퇴 기능 최종 점검

4주차(12/2~12/8)

: 최종 테스트, 버그 수정 및 발표 준비

  • 전체 기능 최종 점검과 버그 수정
  • 발표 자료 제작 및 시연 준비
  • 발표 리허설을 통해 발표 내용을 보완

5. 사용 기술 및 도구

✨ Tech Stack ✨

   
 

Git

브랜치를 나누어 기능별로 작업하고 Pull Request로 코드 리뷰와 병합 관리

Spring Boot

서버 구축 및 RESTful API로 회원가입, 로그인, 키워드 설정 기능 구현

Spring Security

사용자 인증 및 권한 관리

JPA (Hibernate)

MySQL과 연동해 사용자 정보와 알림 내역 관리

Selenium

광운대 공지사항 웹 크롤링 자동화

JavaMailSender

키워드 관련 공지사항 이메일 알림 자동 발송

6. 기대 효과 및 마무리

이 프로젝트는 대학생들이 학교 공지사항에 있는 중요한 정보들을 쉽게 확인할 수 있도록 한다. 키워드 알림 기능을 통해 사용자는 중요한 공지사항을 놓치지 않게 될 것이다. Java와 스프링 부트를 활용한 개발 경험을 쌓으며, 효율적인 대학 생활을 지원하는 유용한 시스템을 만들고, 이를 통한 실질적인 프로그래밍 능력의 향상을 기대한다.

About

Keyword-based Notification Service for Kwangwoon University Notices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •