Skip to content

kjuni1914/Room302Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 

Repository files navigation

ROOM 302 PROJECT

ROOM 302 PROJECT는 ITM 전공 실습실(302호)에 마련된 좌석 정보를 웹을 통해 실시간으로 확인하고, 팀 프로젝트나 개인 학습에 필요한 자리를 보다 손쉽게 찾을 수 있도록 도와주는 서비스입니다. 302호에 팀플이나 과제를 하러 갈 때, 매번 직접 가서 자리가 있는지 확인해야 했던 불편함을 개선하기 위해 기획되었습니다.

주요 기능

  1. 실시간 좌석 현황 확인

    • 사용 중인 자리와 비어 있는 자리를 한눈에 파악할 수 있습니다.
    • 각 자리는 예약(사용) 시작 시간과 예상 사용 시간을 설정하여 관리할 수 있습니다.
  2. 좌석 사용/반납 및 변경

    • 자리가 비어 있으면 클릭 한 번으로 사용 시작 시간을 설정하고 사용을 시작합니다.
    • 이미 자리를 사용 중인 경우, 사용자가 직접 시간 만료 전에 “반납”할 수 있습니다.
    • 사용자가 이미 다른 자리를 사용 중일 때 새 자리를 선택하면, 현재 좌석을 반환하고 새 좌석으로 즉시 변경할 수 있습니다.
  3. 사용 시간 만료 자동 관리

    • 사용 시작 시 설정한 예상 사용 시간이 지나면 자동으로 자리가 비워지도록 처리되어 있습니다.
    • JavaScript에서 매초마다 좌석 사용 시간을 체크하여, 시간이 끝나면 자동으로 반납 처리합니다.
  4. 회원 가입 및 비밀번호 변경

    • Django의 기본 유저 모델 확장(UserProfile)을 사용하여, 보안 질문/답변을 등록하는 형태의 회원가입을 제공합니다.
    • 가입한 유저는 로그인 후 비밀번호 찾기를 통해 보안 질문/답변을 확인하여 비밀번호를 재설정할 수 있습니다.

기술 스택

Backend

  • Python 3 & Django 4.2.11

    • 전반적인 웹 애플리케이션 로직을 처리하고, URL 라우팅과 데이터베이스 ORM을 제공합니다.
    • Django의 Model, View, Template 구조를 기반으로 프로젝트가 구성되어 있습니다.
    • settings.py, urls.py, wsgi.py, asgi.py 파일을 통해 Django 프로젝트 환경 설정이 되어 있습니다.
  • SQLite

    • Django에서 기본적으로 제공하는 SQLite 데이터베이스를 사용하고 있습니다.
    • 마이그레이션 스크립트(예: 000x_*.py)를 통해 테이블 생성, 필드 추가/변경 등의 DB 스키마 변화를 관리합니다.

Frontend

  • HTML/CSS (Django Template)

    • login.html, createAccount.html, changePassword.html, seats.html 등 Django 템플릿 엔진을 통해 HTML을 렌더링하고 있습니다.
    • CSS 파일을 별도로 작성하여 기본적인 레이아웃 및 UI 스타일을 적용했습니다.
  • JavaScript

    • 좌석의 사용 시간 체크와 자동 반납 처리, 모달 창 제어 등에 사용됩니다.
    • fetch API를 사용해 비동기적으로 Django 서버와 통신하며, 좌석의 사용/반납을 즉시 업데이트합니다.
    • 예) seats.html 내부 <script>에서 주기적으로 서버에 요청을 보내 좌석 정보를 갱신하고, 사용 시간 만료를 확인합니다.

기타

  • Django Auth
    • Django의 기본 User 모델을 활용하여 회원가입, 로그인, 비밀번호 변경 기능을 구현했습니다.
    • 추가적인 회원 정보(보안 질문, 답변 등)는 UserProfile 모델로 확장해 저장합니다.

향후 개선 사항

  • 반응형 디자인: 모바일/태블릿 환경에서도 편리하게 사용할 수 있도록 UI 개선.
  • 권한 분리: 관리자 전용 좌석 강제 해제/유저 관리 화면 추가.
  • 더 상세한 예약 기능: 예약 시간대 지정 후 승인/거절 로직 등.
  • 메일/SMS 알림 연동: 예약 시간 만료 또는 변경 시 알림.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors