Skip to content

공공데이터 공모전 출품 어플리케이션 '배움나래'

Notifications You must be signed in to change notification settings

seunghee17/SeoulEducation_AppService

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

배움나래 - 에듀서울 📚

목차

1. 프로젝트 소개

2. 피그마 디자인 링크

3. 프로젝트 구조도

4. 프로젝트 설치 및 실행 방법

5. 프로젝트 사용 방법

6. Contributors

프로젝트 소개

에듀서울은 서울시의 평생교육강좌 데이터를 활용해 서울 시민의 평생교육 강좌를 보다 편리하게 이용할 수 있도록 개발한 어플입니다. 저희 어플의 주요기능은 크게 3가지가 있습니다.

첫 번째, 온라인, 오프라인, 추천강좌로 나누어서 전체 강좌들을 총 3가지방식으로 보여주고 있습니다. 추천강좌는 평생교육 강좌 공공데이터를 카테고리화하여 보여주어 사용자들이 자신에게 적합한 강좌를 찾을 수 있도록 하기위해 제작하였습니다.

두 번째, 에듀서울을 이용하여 평생학습 강좌를 수강하는 사용자들간의 정보공유와 다른 사용자와의 소통을 하기위해서 게시판 기능을 제작하였습니다. 이 게시판을 통해 사용자들은 유용한 정보들을 획득하고 다른 사용자들과 소통할 수 있습니다.

세 번째, 평생학습 관련 공지사항을 에듀서울에서 받을 수 있도록 제작하여 사용자들이 유용한 정보를 빠르게 받을 수 있도록 제작하였습니다.

네 번째, 사용자가 스크랩한 강좌의 신청 마감기한을 알람으로 안내하여 신청 마감기한을 놓치지 않을 수 있도록 제작하였습니다.

피그마 디자인 링크

https://www.figma.com/file/Nncev6ZyYveAEih4HQxcVd/%EC%97%B4%EB%A6%B0%EB%8D%B0%EC%9D%B4%ED%84%B0-%EA%B3%B5%EB%AA%A8%EC%A0%84?type=design&node-id=1-2

IA

프로젝트 구조도

프로젝트 설치 및 실행 방법

1) Server

1. MySQL, Redis 프로그램 설치

데이터베이스 구축을 위해 MySQL, Redis 프로그램을 미리 설치합니다.

2. 백엔드 폴더로 이동

터미널을 실행하여 백엔드 폴더로 이동합니다.

cd backend

3. .env 파일 생성

프로그램 실행을 위해 환경변수를 작성합니다.

# 서버 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"

4. 패키지 설치

프로그램 실행에 필요한 패키지들을 설치합니다.

npm install

5. 서버 실행

서버를 실행합니다.

node app

[Frontend]

프로젝트 사용 방법

1.회원가입

사용자는 이메일 인증을 통해 회원가입을 진행할 수 있습니다.

2.로그인

회원가입시 인증받았던 이메일로 로그인이 가능하며 카카오 소셜계정을 통해서도 로그인이 가능합니다.

3.홈화면

로그인을 완료한 회원은 홈화면으로 가게됩니다. 홈화면에서는 온라인, 오프라인, 추천강좌 항목들을 통해 평생교육 강좌들을 조회할 수 있습니다. 찾고 싶은 특정 강좌가 있을 경우 검색기능을 사용하여 강좌를 찾을 수 있습니다. 평생교육 관련 공지사항들도 홈화면에서 확인할 수 있습니다. 사용자가 스크랩한 강좌의 수강 신청기간이 임박했을 때 알람을 통해 해당 사실을 안내 받을 수 있습니다. 알람은 홈화면과 마이페이지에서도 조회할 수 있습니다.

4.강좌조회

사용자는 온라인, 오프라인, 추천강좌 탭에서 다양한 강좌를 조회할 수 있습니다. 마감임박순과 관심설정순으로 강좌를 정렬할 수 있습니다. 또한 사용자는 자신이 원하는 강좌를 스크랩해서 마이페이지에서 볼 수 있습니다.

5.게시판

사용자들 사이의 의견교환과 정보공유를 위한 게시판 기능입니다. 게시판에서는 사용자들끼리 궁금한 것이나 자신의 의견, 유용한 정보를 나눌 수 있습니다. 게시판에 글을 작성하고 댓글과 대댓글을 달 수 있으며 사용자가 보고 싶은 게시글이 있다면 검색기능을 통해 찾을 수 있습니다.

6.마이페이지

사용자가 개인정보를 편리하게 관리하도록 하게하기 위해서 마이페이지입니다. 마이페이지에서는 사용자가 스크랩한 강좌, 사용자가 게시판에 작성한 글, 최근 본 강좌의 목록을 조회할 수 있습니다. 또한 이름과 비밀번호를 수정할 수 있고 로그아웃과 탈퇴의 기능이 있어 에듀서울을 보다 편리하게 사용할 수 있도록 하였습니다.

Contributors

Name 김지원 송승희 목정아 최유선 김수민
Role UXUI 디자이너 Frontend Dev Frontend Dev Backend Dev AI / ML Dev
Profile

About

공공데이터 공모전 출품 어플리케이션 '배움나래'

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 76.6%
  • JavaScript 20.1%
  • CMake 1.5%
  • C++ 0.7%
  • EJS 0.6%
  • Ruby 0.2%
  • Other 0.3%