Skip to content
@Jibsa-team

Jibsa-team

Balearn

📅 프로젝트 개요

Balance + Learn

Balearn은 Balance와 Learn을 합친 단어로, 스터디 그룹을 통해 균형있는 학습을 돕는 서비스입니다. Image

💵 기간

2024.12.26 ~ 진행중

💵 팀원 소개

황민우 이재인

💡 기획 배경

스터디 모임은 보통 정해진 날짜에 온라인 또는 오프라인으로 만나 진행하는 형태가 일반적입니다. 하지만, 기존 스터디 방식에는 효율적인 일정 관리와 지속적인 참여 유도를 위한 시스템이 부족합니다.

🔹 기존 스터디 모임의 한계

  • 일정 관리의 어려움 – 매일 정해진 일정이 있어도 잊어버리기 쉬움
  • 강제성 부족 – 자율적인 참여 방식이지만, 참여율이 점점 낮아지는 문제 발생
  • 비효율적인 자료 공유 – 카카오톡, 슬랙 등 여러 플랫폼을 통해 자료를 공유하면 찾기 번거로움

🚀 스터디 관리 서비스 기획 이러한 문제를 해결하기 위해, 스터디원들이 보다 체계적으로 학습하고 지속적으로 참여할 수 있도록 스터디 일정 관리 서비스를 개발했습니다.

✔ 주간 일정 & 오늘의 미션 – 캘린더를 활용해 스터디 일정을 등록하고, 한눈에 확인
✔ 미션 완료 시스템 – 오늘의 미션을 완료하면 점수가 반영되며, 이벤트성 요소를 통해 참여 유도
✔ 통합 자료 관리 – 한 곳에서 자료를 공유 및 관리하여 찾기 쉽고 활용도 증가

스터디를 더 체계적이고, 즐겁게! 이제, 스터디를 보다 효율적으로 운영하고, 참여율을 높이며, 학습 성과를 극대화할 수 있는 서비스를 경험해보세요!

💵 공통 컴포넌트 주요 기능

  • 사이드 바

    • 각 페이지 라우팅 기능
    • 나의 모임 리스트 확인
    • 모임 생성하기
    • 모임 가입하기
  • 헤더

    • 팀 프로필 정보
    • 로그아웃

💵 페이지별 주요 기능

  • 소셜 로그인

    • 카카오 , 구글 로그인 기능
  • 대시보드

    • 공지 확인
    • 스터디 목표 확인
    • 스터디 멤버 확인
    • 주간 일정 확인
  • 캘린더

    • 일정 등록 , 수정 , 삭제 기능
    • 캘린더를 활용한 일정 시각화
    • 주간 , 월별 캘린더 확인
  • 채팅

    • 1:N 채팅 기능 제공
  • 파일

    • 최근 열어본 파일 목록 확인
    • drag & drop 파일 업로드 기능
    • 파일 리스트 확인
  • 설정

    • 모임 수정
    • 회원 관리(회원 권한 수정 , 회원 탈퇴)
    • 초대 링크 공유
    • 공지 페이지(공지 CRUD)
  • 리더보드

    • 1 ~ 3등 랭킹 확인
    • 모임 전체 랭킹 , 점수 확인
    • 오늘의 미션 확인 및 등록

💵 데이터 활용

💡서비스 소개

Balearn

Balearn은, 스터디그룹 관리 서비스입니다.

(사용자)

  1. 사용자는 모임을 먼저 생성합니다.
    • 모임 이미지 , 모임 명을 입력합니다.
  2. 만들어진 모임을 대시보드에서 확인합니다.
  3. 설정 페이지의 회원 관리에서 초대 코드를 생성한 뒤 공유합니다.
    • 초대 코드를 받은 인원은 사이드 바의 '모임 가입하기'를 눌러 코드를 입력하고 가입합니다.
  4. 캘린더 페이지에서 스터디의 일정을 등록합니다.
  5. 공유할 파일은 파일 페이지에서 업로드를 합니다.
  6. 오늘 에정된 미션을 클리어하면 점수가 올라갑니다.
    • 리더보드 페이지에서 미션을 클리어할 수 있습니다.
  7. 팀원과 공유할 내용을 채팅 페이지에 올립니다.

⚙️ 기술 스택

프론트엔드

백엔드

인프라

협업툴

📂ERD 및 시스템 아키텍처

api 명세서

swagger

ERD Image ERDcloud

시스템 아키텍처 Image

백엔드 프로젝트 구조
├── Dockerfile
├── HELP.md
├── Makefile
├── build.gradle.kts
├── docker-compose.yml
├── gradlew
├── gradlew.bat
├── logstash
│   └── logstash.conf
├── nginx
│   └── config
│       ├── blue.conf
│       └── green.conf
├── settings.gradle.kts
└── src
   └── main
       ├── kotlin
       │   └── com
       │       └── jipsa
       │           └── balearn
       │               ├── BalearnApplication.kt
       │               ├── api
       │               │   ├── chat
       │               │   ├── global
       │               │   ├── learning_file
       │               │   ├── mission
       │               │   ├── mission_clear
       │               │   ├── notice
       │               │   ├── schedule
       │               │   ├── team
       │               │   ├── team_goal
       │               │   ├── team_user
       │               │   └── user
       │               ├── common
       │               │   ├── api
       │               │   ├── constants
       │               │   ├── dto
       │               │   ├── exception
       │               │   ├── jackson
       │               │   ├── scheduling
       │               │   ├── security
       │               │   └── util
       │               ├── database
       │               │   ├── chat
       │               │   ├── config
       │               │   ├── global
       │               │   ├── learning_file
       │               │   ├── mission
       │               │   ├── mission_clear
       │               │   ├── notice
       │               │   ├── schedule
       │               │   ├── team
       │               │   ├── team_goal
       │               │   ├── team_user
       │               │   └── user
       │               ├── domain
       │               │   ├── chat
       │               │   ├── global
       │               │   ├── learning_file
       │               │   ├── mission
       │               │   ├── mission_clear
       │               │   ├── notice
       │               │   ├── schedule
       │               │   ├── team
       │               │   ├── team_goal
       │               │   ├── team_user
       │               │   └── user
       │               └── infra
       │                   ├── elasticsearch
       │                   ├── gcs
       │                   ├── jwt
       │                   ├── oauth2
       │                   ├── redis
       │                   └── websocket
       └── resources
           ├── application-dev.yml
           ├── application-local.yml
           ├── application.yml
           ├── elasticsearch
           │   ├── chat-mappings.json
           │   └── chat-settings.json
           ├── static
           └── templates

🖼 주요 화면

💵 로그인 페이지

로그인

💵 대시보드 페이지

대시보드

💵 캘린더 페이지

캘린더 캘린더-일정추가

💵 채팅 페이지

스크린샷 2025-02-17 오후 3 48 18

💵 파일 페이지

파일

💵 설정 페이지

설정 설정-회원관리 모임수정 공지

💵 리더보드 페이지

리더보드

컨벤션

📍 Git 컨벤션

<컨벤션> : <설명>
컨벤션 설명
feat 새로운 기능과 관련된 것을 의미한다.
fix 오류와 같은 것을 수정했을 때 사용한다.
docs 문서와 관련하여 수정한 부분이 있을 때 사용한다.
style 코드의 변화와 관련없는 포맷이나 세미콜론을 놓친 것과 같은 부분들을 의미한다.
refactor 코드의 리팩토링을 의미한다.
test test를 추가하거나 수정했을 때를 의미한다.
chore build와 관련된 부분, 패키지 매니저 설정 등 여러가지 production code와 무관한 부분 들을 의미한다. 말 그대로 자질구레한 일들이다.
add 이미지 등의 정적 자원 추가를 의미한다.
init 초기 설정 세팅을 의미한다.
rename 파일 혹은 폴더 명을 수정하거나 옮기는 작업을 의미한다.

Popular repositories Loading

  1. balearn-be balearn-be Public

    스터디 모임 관리 플랫폼 "밸런"

    Kotlin 1

  2. balearn-fe balearn-fe Public

    TypeScript

  3. .github .github Public

    스터디 모임 관리 플랫폼입니다.

Repositories

Showing 3 of 3 repositories
  • .github Public

    스터디 모임 관리 플랫폼입니다.

    Jibsa-team/.github’s past year of commit activity
    0 0 0 0 Updated Feb 19, 2025
  • balearn-be Public

    스터디 모임 관리 플랫폼 "밸런"

    Jibsa-team/balearn-be’s past year of commit activity
    Kotlin 1 0 4 0 Updated Feb 18, 2025
  • balearn-fe Public
    Jibsa-team/balearn-fe’s past year of commit activity
    TypeScript 0 0 1 (1 issue needs help) 0 Updated Feb 17, 2025

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…