Skip to content

eujeong-hwang/EcoEnerge

 
 

Repository files navigation

전기차 충전소 리뷰

환경에 대해 조금 더 친숙하게 생각하고, 흔히 찾기도 어려운 전기차 충전소의 장소를 간단한 동, 구의 입력만으로도 어디에 있는지 검색하고, 그곳의 리뷰들은 어떠한지 직접적으로 작성해 보세요

1. 제작 기간 & 팀원 소개

  • 2021.09/13 ~ 09/18
  • 4인 1조 팀 프로젝트
    • 박기남 : backend review, charge의 CRUD, 5번 항목의 모든 오류 해결
    • 이도행 : charge_detail 반응형 css, 웹 서버 배포
    • 황유정 : user 정보와 로그인 기능 구현, 추가적인 css
    • 홍성현 : 충전소 목록 동적 웹페이지 구조 작성과 css

2. 사용 기술

  • Backend
    • Python 3
    • Flask 2.0.1
  • Frontend
    • jinja
    • bulma
    • bootstrap
  • DB
    • MongoDB
    • selenium

3. 실행화면

Video Label

4. 핵심기능

  • 로그인, 회원가입

    • JWT를 이용하여 로그인과 회원가입을 구현하였습니다.
    • 아이디와 닉네임의 중복확인이 가능합니다.
  • 자동차 충전소 지역별 검색

    • 크롤링을 통해 서울지역 내 모든 충전소들을 DB에 미리 저장하였습니다.
    • 사용자는 자동차 충전소를 지역 검색을 통해 찾을 수 있습니다.
    • 간편한 페이징기능 탑제, 6개의 항목 이상의 데이터는 페이징 기능을 통하여 다음 페이지로 이동할 수 있습니다.
  • 1개의 자동차 충전소에 관한 리뷰글 CRUD

    • 자신의 생각을 담아 리뷰글을 작성가능합니다.
    • 다른 유저의 리뷰글을 조회할 수 있습니다.
    • 권한인증을 통하여, 자신의 리뷰글을 수정가능하며, 다른 유저의 리뷰글은 수정이 불가능합니다.
    • 권한인증을 통하여, 자신의 리뷰글을 삭제가능하며, 다른 유저의 리뷰글은 삭제가 불가능합니다.

5. 해결한 문제 정리해보기

  • frontend
    • login.html
      • 문제, 회원가입 시 id 중복확인을 통과 후, 중복된 id 입력 후 회원가입이 되는 문제
        • 해결, onChange 이벤트를 이용하여 onChange 시 class를 'is-danger'로 자동변경과 안내 문구 출력
    • chargeList.html
      • 문제 1, 이미지가 없을 경우 견본이미지 9장 중 1장을 보이게 해야하는 문제
        • 해결, janja의 if문을 통하여 img tag를 교체하고, src 속성도 jinja를 이용하여 동적으로 연결
      • 문제 2, 견본이미지 9개 종류중 한 개만 나오는 문제
        • 해결, for문을 통해 idx 변수를 만들고 이 idx로 default_charge{idx} 처럼 여러 종류의 견본이미지를 불러오도록 해결
      • 문제 3, jinja 템플릿은 파이썬 방식의 for문이며, iterator의 사용이 불가능하며, 최신버전의 jinja는 idx = idx + 1 사용이 불가능하다.
      • 문제 4, 리스트의 사진 클릭시 charge_detail.htmlrouting 기능을 넣으며, 그 항목의 chargeId를 주어야 하는 문제
    • charge_detail.html
      • 문제 1, 리뷰 수정 시 modal 창을 통해 입력, modal 창을 열때 그 리뷰글의 리뷰id 값을 저장하여 backend로 보내야하는 문제
        • 해결 1, js를 통하여 modal 클릭시 변수에 id 값을 저장하도록 설정, 모든 리뷰 글은 modal을 클릭 해야하는 전제조건이 있으므로 가능하다.
  • backend

About

01 week mini project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.3%
  • HTML 0.4%
  • JavaScript 0.1%
  • PowerShell 0.1%
  • CSS 0.1%
  • Batchfile 0.0%