충남대 역량 폼 미쳤다 · GitHub
Skip to content
@cnu-data-contest

충남대 역량 폼 미쳤다

[어흥] 충남대학교 공공데이터 활용 경진대회

🤓 충남대 역량 폼 미쳤다

CNU Archive Web Page v1.0

충남대학교 공공데이터 활용경진대회
개발기간: 2023.04 ~ 2023.06
공모전 영상
디자인시안
Notion

배포 주소

프론트 서버 : https://master--frolicking-fairy-f01bac.netlify.app/
백엔드 서버 : https://api.lagohalttae-api.ml

팀 소개 👨‍👨‍👧‍👧

강병현 박신욱 이은경 김대민
@llbllhllk @hwibaluuu @pkyung @daemin-kim
충남대학교 컴퓨터공학과 4학년 충남대학교 디자인창의학과 4학년 충남대학교 컴퓨터융합학부 3학년 충남대학교 컴퓨터융합학부 3학년
FE (팀장) UI/UX (팀원) BE (팀원) BE (팀원)

서비스 소개

본 서비스는 충남대학교 학생들을 위한 대외활동 아카이빙 서비스로, 기존 충남대학교 홈페이지에서 대외활동 정보를 탐색할 때 발생하는 어려움을 해결하기 위해 개발하게 되었습니다.
학생들은 본 서비스를 통해 충남대학교 각 학과별 공모전 정보를 한 자리에서 손쉽게 확인할 수 있습니다.

기대 효과

저희 서비스는 학생들이 더욱 쉽게 대외활동에 참여하고, 개인화된 서비스를 통해 성장과 발전을 이룰 수 있게 합니다.
이렇게 학생들에게 편리함과 효율성을 제공하여, 대외활동 참여 문화를 활성화하고 학생들의 성공을 돕고자 합니다.

Stacks 🐈

Environment

Visual Studio Code Git Github

Config

npm

Development

JavaScript React

Communication

Notion


주요 기능 📦

학번 로그인 및 관심학과 선택 기능

  • 충남대학교 포털의 학번과 비밀번호를 입력한다.
  • 입력한 정보를 확인하여 충남대학교 학생인지를 확인한다.
  • 처음 로그인한 학생은 관심있는 학과를 선택할 수 있는 기능에 제공된다.
  • 원하는 학과를 선택하면 해당 학과의 교외 활동을 확인할 수 있다

대외활동 확인 기능

  • 선택한 관심학과를 기반으로 취업/인턴, 대회, 세미나 등을 확인할 수 있다.
  • 다른 학과를 검색하여 대외활동들을 확인할 수 있다.
  • 관심있는 대외활동을 관심목록에 추가하거나 삭제할 수 있다.

더 알아보기

  • 취업/인턴, 대회, 세미나와 같은 대외활동 관련 섹션을 통해 더 많은 활동들을 리스트로 확인할 수 있다.

상세 게시글

  • 대외활동 리스트 중에서 원하는 활동을 클릭하면 해당 활동의 상세 내용을 확인할 수 있다.
  • 상세 게시글에는 작성자, 등록일, 관련 이미지와 글들을 대외활동 내용을 상세하게 확인 가능하다.

화면 구성 📺

로그인 페이지 관심학과 선택 페이지
메인 페이지 수정하기 팝업
게시물 리스트 상세 게시물

아키텍쳐

아키텍처 상세

아키텍처

디렉토리 구조

├── 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

Popular repositories Loading

  1. cnu-data-contest-frontend cnu-data-contest-frontend Public

    JavaScript 1

  2. .github .github Public

  3. cnu-data-contest-backend cnu-data-contest-backend Public

    Java

Repositories

Showing 3 of 3 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…