에듀서울은 서울시의 평생교육강좌 데이터를 활용해 서울 시민의 평생교육 강좌를 보다 편리하게 이용할 수 있도록 개발한 어플입니다. 저희 어플의 주요기능은 크게 3가지가 있습니다.
첫 번째, 온라인, 오프라인, 추천강좌로 나누어서 전체 강좌들을 총 3가지방식으로 보여주고 있습니다. 추천강좌는 평생교육 강좌 공공데이터를 카테고리화하여 보여주어 사용자들이 자신에게 적합한 강좌를 찾을 수 있도록 하기위해 제작하였습니다.
두 번째, 에듀서울을 이용하여 평생학습 강좌를 수강하는 사용자들간의 정보공유와 다른 사용자와의 소통을 하기위해서 게시판 기능을 제작하였습니다. 이 게시판을 통해 사용자들은 유용한 정보들을 획득하고 다른 사용자들과 소통할 수 있습니다.
세 번째, 평생학습 관련 공지사항을 에듀서울에서 받을 수 있도록 제작하여 사용자들이 유용한 정보를 빠르게 받을 수 있도록 제작하였습니다.
네 번째, 사용자가 스크랩한 강좌의 신청 마감기한을 알람으로 안내하여 신청 마감기한을 놓치지 않을 수 있도록 제작하였습니다.
데이터베이스 구축을 위해 MySQL, Redis 프로그램을 미리 설치합니다.
터미널을 실행하여 백엔드 폴더로 이동합니다.
cd backend
프로그램 실행을 위해 환경변수를 작성합니다.
# 서버 PORT
SERVER_PORT=8080
DATABASE_SERVER_PORT=8081
# DB 설정 관련 값
DB_USERNAME={MySQL 사용자 이름}
DB_NAME={MySQL 데이터베이스 이름}
DB_PASSWORD={MySQL 비밀번호}
DB_HOST="127.0.0.1"
# Redis 관련 값
REDIS_HOST="127.0.0.1"
REDIS_PORT="6379"
# JWT 발행 관련 값
JWT_SECRET={JWT 발행을 위한 비밀키}
# 해싱을 위한 값
HASH_ITERATION_COUNT=100149
HASH_ALGORITHM="sha512"
# nodemailer 설정 값 (이메일 인증 코드 전송을 위해)
SMTP_SERVICE="gmail"
SMTP_USER={발송자 이메일 주소}
SMTP_PASSWORD={발송자 이메일 비밀번호}
# Kakao OAuth
KAKAO_OAUTH_TOKEN_API_URL="https://kauth.kakao.com/oauth/token"
KAKAO_GRANT_TYPE="authorization_code"
KAKAO_CLIENT_ID={카카오 로그인 API의 REST API 키}
KAKAO_REDIRECT_URI="http://localhost:3000"
KAKAO_API_URL="https://kapi.kakao.com"
KAKAO_PROFILE_URL="https://kapi.kakao.com/v2/user/me"
KAKAO_APP_ADMIN_KEY={카카오 로그인 API의 Admin 키}
# Open API 요청을 위한 값
OPEN_API_BASE_URL="http://openAPI.seoul.go.kr:8088"
OPEN_API_KEY={서울 열린데이터 OpenAPI KEY}
OPEN_API_SERVICE_NAME_OFFLINE="OfflineCourse"
OPEN_API_SERVICE_NAME_ONLINE="OnlineCoures"
OPEN_API_SERVICE_NAME_DEPT="LifetimeEduOrgan"
SLL_URL="https://sll.seoul.go.kr"
# Fast API
FAST_API_BASE_URL="http://localhost:8000"
프로그램 실행에 필요한 패키지들을 설치합니다.
npm install
서버를 실행합니다.
node app
[Frontend]
사용자는 이메일 인증을 통해 회원가입을 진행할 수 있습니다.
회원가입시 인증받았던 이메일로 로그인이 가능하며 카카오 소셜계정을 통해서도 로그인이 가능합니다.
로그인을 완료한 회원은 홈화면으로 가게됩니다. 홈화면에서는 온라인, 오프라인, 추천강좌 항목들을 통해 평생교육 강좌들을 조회할 수 있습니다. 찾고 싶은 특정 강좌가 있을 경우 검색기능을 사용하여 강좌를 찾을 수 있습니다. 평생교육 관련 공지사항들도 홈화면에서 확인할 수 있습니다. 사용자가 스크랩한 강좌의 수강 신청기간이 임박했을 때 알람을 통해 해당 사실을 안내 받을 수 있습니다. 알람은 홈화면과 마이페이지에서도 조회할 수 있습니다.
사용자는 온라인, 오프라인, 추천강좌 탭에서 다양한 강좌를 조회할 수 있습니다. 마감임박순과 관심설정순으로 강좌를 정렬할 수 있습니다. 또한 사용자는 자신이 원하는 강좌를 스크랩해서 마이페이지에서 볼 수 있습니다.
사용자들 사이의 의견교환과 정보공유를 위한 게시판 기능입니다. 게시판에서는 사용자들끼리 궁금한 것이나 자신의 의견, 유용한 정보를 나눌 수 있습니다. 게시판에 글을 작성하고 댓글과 대댓글을 달 수 있으며 사용자가 보고 싶은 게시글이 있다면 검색기능을 통해 찾을 수 있습니다.
사용자가 개인정보를 편리하게 관리하도록 하게하기 위해서 마이페이지입니다. 마이페이지에서는 사용자가 스크랩한 강좌, 사용자가 게시판에 작성한 글, 최근 본 강좌의 목록을 조회할 수 있습니다. 또한 이름과 비밀번호를 수정할 수 있고 로그아웃과 탈퇴의 기능이 있어 에듀서울을 보다 편리하게 사용할 수 있도록 하였습니다.
Name | 김지원 | 송승희 | 목정아 | 최유선 | 김수민 |
---|---|---|---|---|---|
Role | UXUI 디자이너 | Frontend Dev | Frontend Dev | Backend Dev | AI / ML Dev |
Profile |