충남대학교 공공데이터 활용경진대회
개발기간: 2023.04 ~ 2023.06
공모전 영상
디자인시안
Notion
프론트 서버 : https://master--frolicking-fairy-f01bac.netlify.app/
백엔드 서버 : https://api.lagohalttae-api.ml
본 서비스는 충남대학교 학생들을 위한 대외활동 아카이빙 서비스로, 기존 충남대학교 홈페이지에서 대외활동 정보를 탐색할 때 발생하는 어려움을 해결하기 위해 개발하게 되었습니다.
학생들은 본 서비스를 통해 충남대학교 각 학과별 공모전 정보를 한 자리에서 손쉽게 확인할 수 있습니다.
저희 서비스는 학생들이 더욱 쉽게 대외활동에 참여하고, 개인화된 서비스를 통해 성장과 발전을 이룰 수 있게 합니다.
이렇게 학생들에게 편리함과 효율성을 제공하여, 대외활동 참여 문화를 활성화하고 학생들의 성공을 돕고자 합니다.
- 충남대학교 포털의 학번과 비밀번호를 입력한다.
- 입력한 정보를 확인하여 충남대학교 학생인지를 확인한다.
- 처음 로그인한 학생은 관심있는 학과를 선택할 수 있는 기능에 제공된다.
- 원하는 학과를 선택하면 해당 학과의 교외 활동을 확인할 수 있다
- 선택한 관심학과를 기반으로 취업/인턴, 대회, 세미나 등을 확인할 수 있다.
- 다른 학과를 검색하여 대외활동들을 확인할 수 있다.
- 관심있는 대외활동을 관심목록에 추가하거나 삭제할 수 있다.
- 취업/인턴, 대회, 세미나와 같은 대외활동 관련 섹션을 통해 더 많은 활동들을 리스트로 확인할 수 있다.
- 대외활동 리스트 중에서 원하는 활동을 클릭하면 해당 활동의 상세 내용을 확인할 수 있다.
- 상세 게시글에는 작성자, 등록일, 관련 이미지와 글들을 대외활동 내용을 상세하게 확인 가능하다.
├── backend : 백엔드
│ ├── README.md
│ ├── Controller : controller 파일
│ │ ├── ApiController
│ │ ├── FavoriteController
│ │ └── UserController
│ ├── Domain: 도메인 파일
│ │ ├── BoardInfo
│ │ ├── Favorite
│ │ ├── MajorBaseUrl
│ │ ├── MoreValue
│ │ ├── User
│ │ ├── UserMajorValue
│ │ ├── UserValue
│ │ ├── ValueIn
│ │ └── ValueOut
│ ├── Dto : dto 관련 파일
│ │ ├── UserRequestDto
│ │ └── FavoriteRequestDto
│ ├── Repository : repository 관련 파일
│ │ ├── FavoriteRepository
│ │ └── UserJpaRepository
│ ├── Service : service 관련 파일
│ │ ├── ApiService
│ │ ├── FavoriteService
│ │ └── UserService
│ ├── ContestArchiveApplication
│ ├── resources
│ │ ├── application.properties
│ │ └── application.yml
└── frontend : 프론트엔드
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── manifest.json
│ └── robots.txt
├── api
│ └── index.js
├── assets/images : 이미지 파일
├── components
│ ├── common
│ │ ├── banner
│ │ │ ├── Banner.js
│ │ │ ├── Banner.style.js
│ │ │ └── index.js
│ │ ├── base-layout
│ │ │ ├── BaseLayout.js
│ │ │ └── index.js
│ │ ├── container
│ │ │ ├── Container.js
│ │ │ ├── Container.style..js
│ │ │ └── index.js
│ │ ├── header
│ │ │ ├── Header.js
│ │ │ ├── Header.style.js
│ │ │ └── index.js
│ │ └── UI
│ │ │ ├── button
│ │ │ │ ├── Button.js
│ │ │ │ ├── Button.style.js
│ │ │ │ └── index.js
│ │ │ ├── drop-down
│ │ │ │ ├── DropDown.js
│ │ │ │ ├── DropDown.style.js
│ │ │ │ └── index.js
│ │ │ └── input
│ │ │ │ ├── index.js
│ │ │ │ ├── Input.js
│ │ │ │ └── Input.style.js
│ ├── favorite
│ │ ├── Favorite.js
│ │ ├── Favorite.style.js
│ │ └── index.js
│ ├── first-user-login
│ │ ├── FirstUserLogin.js
│ │ ├── FirstUserLogin.style.js
│ │ └── index.js
│ ├── pagination
│ │ ├── index.js
│ │ ├── Pagination.js
│ │ └── Pagination.style.js
│ ├── post-content
│ │ ├── index.js
│ │ ├── PostContent.js
│ │ └── PostContent.style.js
│ ├── posts
│ │ ├── index.js
│ │ ├── Posts.js
│ │ └── Posts.style.js
│ ├── search-data
│ │ ├── index.js
│ │ ├── SearchData.js
│ │ └── SearchData.style.js
│ ├── slick-list
│ │ ├── index.js
│ │ ├── SlickList.js
│ │ ├── SlickList.style.js
│ │ ├── SlickListItem.js
│ │ └── SlickListItem.style.js
│ ├── user-info
│ │ ├── index.js
│ │ ├── UserInfo.js
│ │ └── UserInfo.style.js
│ ├── user-login
│ │ ├── ErrorMessagePopUp.js
│ │ ├── ErrorMessagePopup.style.js
│ │ ├── index.js
│ │ ├── UserLogin.js
│ │ └── UserLogin.style.js
│ └── watch-list
│ │ ├── index.js
│ │ ├── WatchList.js
│ │ ├── WatchList.style.js
│ │ └── WatchListItem.js
├── config
│ ├── config.js
│ └── index.js
├── data
│ ├── computer.js
│ ├── index.js
│ └── koreanLanguage.js
├── pages
│ ├── BoardList.js
│ ├── FirstLogin.js
│ ├── Login.js
│ ├── Main.js
│ ├── Main.style.js
│ └── Post.js
├── styles
│ ├── GlobalStyle.jsx
│ ├── GlobalThemeProvider.jsx
│ ├── slick-theme.css
│ ├── slick.css
│ └── theme.jsx
├── App.jsx
├── index.js
├── package-lock.json
└── package.json








