Back
군대에서 남아도는 게 시간인 만큼 자기개발에 공을 들이고 있다. 하지만 점점 난잡해지는 느낌이 들어 자기개발을 한 곳에서 모두 관리하는 사이트를 만들고 싶었다.
하는 김에 예과 수료를 시뮬레이션 할 수 있는 기능도 만들어 보고 싶었고, 몇 년 전에 만들다 포기한 Gradulator를 AI의 도움(100%)으로 만들어보았다. (Google AI Studio)
제미나이에서 먼저 의예과 수료기준 관련 자료들을 올려서 텍스트화한 다음 Google AI Studio에 넣었다.
세부적인 기능들이나 추가하고 싶은 탭들은 기초적인 템플릿을 만든 다음 하나하나 기워넣었다.
그래서 그런지 약간 누더기 같이 만들어질뻔 하긴 했는데 Google AI Studio가 알아서 잘 만들어주었다.
제미나이로만 만들려다가 제미나이가 추천해줘서 Google AI Studio를 처음 써보게 되었는데,
- 생각보다 너무 잘 만들어준다.
- 하나 간단한 걸 수정하려고 해도 몇 분씩 기다려야 한다.
- 따로 세세한 명령을 하지 않으면 디자인을 수정해 달라고 해도 거기서 거기다.
- 웬만하면 첫 프롬프트 작성할 때 미리 기획안을 작성해놓는 것이 좋을 것 같다.
- Favicon 수정은 왜 이렇게 못하는 지 모르겠다.
아래 모든 기능을 구현하고 실사용 할 수 있게 되는 데 단 이틀이면 충분했다.
SNU Pre-Med Gradulator의 모든 기능을 상세히 정리해 드립니다.
1. 핵심 기능 (Core Features)
대시보드 (홈):
위젯 시스템: 학업 현황, D-Day, 군 e-러닝, 할 일, 루틴, 계획 등을 한눈에 볼 수 있는 위젯을 제공합니다.
상태 요약: 현재 진행 상황을 직관적인 그래프와 수치로 보여줍니다.
학업 관리 (Academics):
이수 과목 관리: 실제 수강한 과목을 기록하고 관리합니다.
졸업 요건 체크: 인문, 연구, CPM, TEPS 등 필수 요건 충족 여부를 체크합니다.
활동 기록: 봉사활동 및 독서 기록을 관리합니다.
필수 항목 토글: 심폐소생술(CPR), 리더십, 포트폴리오 등 필수 이수 항목을 간편하게 체크합니다.
계획 수립 (Planning):
학기별 계획: 미래 학기(2025-1, 2025-2 등)별로 수강할 과목과 메모를 계획합니다.
드래그 앤 드롭: (구현 예정 또는 UI 상) 과목을 유연하게 배치하여 로드맵을 그립니다.
자기계발 (Self Development):
군 e-러닝: 수강 중인 군 e-러닝 강좌, 진도율(체크포인트), 시험 일정, 환급 여부 등을 관리합니다.
영어 학습: TEPS 등 목표 점수 설정, 주간 목표, 요일별 학습 루틴을 관리합니다.
한줄 성찰: 학업 성찰, 감사한 일, 아이디어 등을 카테고리별로 짧게 기록합니다.
생활관장: 총기 번호, 관원 목록, 청소 구역, 점호/현황판 등 생활관장 업무를 보조하는 기능을 제공합니다.
할 일 관리 (Todo):
간단한 투두 리스트를 통해 해야 할 일을 체크하고 관리합니다.
2. 소셜 및 친구 기능 (Social & Friends)
친구 관리:
친구 요청: 이메일을 통해 다른 사용자에게 친구 요청을 보냅니다.
수락/거절: 받은 친구 요청을 수락하거나 거절할 수 있습니다.
친구 삭제: 친구 목록에서 삭제할 수 있으며, 실수 방지를 위한 확인 절차가 있습니다.
데이터 공유 및 프라이버시:
데이터 열람: 친구의 학업 및 계획 데이터를 읽기 전용으로 조회할 수 있습니다.
공개 설정: 내 학업 데이터와 계획 데이터를 친구에게 공개할지 여부를 각각 설정할 수 있습니다. (기본값: 비공개)
3. 데이터 및 계정 관리 (Data & Account)
구글 로그인: Google OAuth 2.0을 통한 간편 로그인을 지원합니다.
클라우드 동기화: 로그인 시 데이터가 서버(DB)에 자동 저장되어 기기 간 동기화됩니다.
게스트 모드: 로그인하지 않아도 로컬 저장소(Local Storage)를 사용하여 모든 기능을 이용할 수 있습니다.
백업 및 복원: 데이터를 JSON 파일로 내보내거나(백업), 파일을 불러와 복원할 수 있습니다.
데이터 초기화: 모든 데이터를 초기 상태로 리셋하는 기능을 제공합니다.
4. 보안 및 시스템 (Security & System)
CSRF 보호: 위조된 요청을 방지하기 위해 모든 주요 데이터 변경 요청에 보안 토큰 검증을 적용했습니다.
속도 제한 (Rate Limiting): 과도한 요청 공격을 막기 위해 API 요청 횟수를 제한했습니다.
권한 검증 강화: 친구 삭제나 데이터 조회 시, 실제 친구 관계인지 서버에서 엄격하게 검증합니다.
로그 보안: 서버 로그에 민감한 개인정보가 남지 않도록 마스킹 처리했습니다.
5. UI/UX
반응형 디자인: PC에서는 사이드바, 모바일에서는 하단 탭바를 사용하여 기기에 최적화된 화면을 제공합니다.
모바일 편의성: 모바일에서 '자기계발' 메뉴를 그룹화하여 접근성을 높였습니다.