반응형
[Project] 포트폴리오 웹사이트 만들기
📖 프로젝트 소개
포트폴리오는 취업을 위해서 반드시 필요하다고 생각하였고 개인적으로 진행한 프로젝트의 경우 정리하여 관리할 수 있으면 좋을 것 같다고 생각하여 직접 만들어보게 되었습니다.
아이디어는 인스타그램에서 영감을 얻어 진행하게 되었고 독학으로 기술들을 학습한 이후 무작전 제작한 프로젝트이기 때문에 개인적 만족감을 느낄 수 있을 것 같았다.
📚 프로젝트의 기능
프로젝트의 주요 기능은 아래와 같이 만들어 주려고한다.
- 프로젝트 -업로드, 수정, 삭제, 좋아요
- 사용자 - 회원가입 및 로그인, 로그아웃, 구글, 네이버 등을 통한 간편 로그인, 회원정보 수정, 가입 시 유효성 검사 및 중복 검사, 이메일 인증
- contact me - 웹사이트에서 바로 이메일 보내기
📚 요구 사항
📑 회원 가입 페이지
- 유효성 검사
- 닉네임은 최소 2~10자이며, 한글, 숫자, 알파벳 소문자 대문자만 사용 가능
- 이메일 확인 시 이메일 형식을 확인 - 이메일 인증 기능
- 한 개의 칸이라도 공백 혹은 빈칸이 있다면 경고 메시지
- 비밀번호는 최소 8 ~ 16자 이상이며, 영문 대 소문자를 사용하고 특수문자를 사용
- 중복 확인
- 데이터 베이스에 존재하는 아이디를 입력한 채 회원가입을 누른 경우 "이미 사용 중인 아이디입니다."의 메시지 출력
- 데이터 베이스에 존재하는 이메일을 입력한 채 회원가입 버튼을 누른 경우 "이미 사용 중인 이메일입니다."의 메시지 보여주기
- 데이터 베이스에 존재하는 닉네임을 입력한 채 회원가입 버튼을 누른 경우 "이미 사용 중인 닉네임입니다"의 메시지 출력
- 회원가입 후 로그인 화면으로 이동
📑 로그인 페이지
- 로그인하지 않은 경우 사용 가능 한 기능
- 회원 가입 페이지
- 로그인 페이지
- 게스트 계정으로 로그인 - 메인 페이지로 이동할 수 있으나 기능은 사용 불가
- 그 외 로그인하지 않거나 올바르지 않은 경로로 접속한 사용자가 로그인이 필요한 경로에 접속한 경우 로그인 페이지로 이동
- 로그인 검사
- 아이디와 비밀번호가 일치하지 않은 경우, 아이디가 없는 경우 "잘못된 회원 정보입니다." 출력
📑 회원 정보 수정
- 회원 정보 수정은 닉네임, 비밀 번호만 가능
- 수정란이 빈칸 혹은 공백으로 된 경우 "공백 또는 입력하지 않은 부분이 있습니다."의 메시지 출력
- 닉네임이 중복확인을 통해 중복일 경우 "이미 사용 중인 닉네임입니다."를 출력
- 닉네임은 최소 2~10자이며, 한글, 숫자, 알파벳 소문자 대문자만 사용 가능
- 비밀번호는 최소 8 ~ 16자 이상이며, 영문 대 소문자를 사용하고 특수문자를 사용
- 수정 완료 시 수정 마지막 수정 날짜 업데이트
📑 소셜 로그인 기능
- 구글, 네이버 등으로 로그인이 가능하도록 설정
- 데이터베이스에 이미 존재하는 이메일이 있을 시 기존 회원 데이터 정보를 유지 - "이미 존재하는 이메일입니다"의 메시지 출력
- 소셜 로그인 사용자도 닉네임, 비밀번호 설정이 가능하고, 일반 로그인도 가능하게 하기
📑 프로젝트 글
- 프로젝트 글 수정, 및 삭제 기능 - 글 삭제 시 "좋아요" 데이터 베이스 정보도 삭제
- 본인 외 다른 사람은 게시글 작성, 수정, 삭제 기능 이용 불가능 - "권한이 없습니다." 출력
- 좋아요 기능 - 게스트 회원은 "이 기능은 회원 전용입니다." 출력
📑 contact me
- 보내는 사람의 이메일 유효성 확인
- 내용이 비어 있는 경우 "모든 정보를 입력해주세요" 출력
📚 사용할 기술
📕 백엔드
- Django
- Django Restframework
- SQLite
- OAuth
📗 프론트 엔드
- HTML / CSS
- JavaScript
- Bootstrap
반응형
'BackEnd > Django, DRF' 카테고리의 다른 글
[Project] 장고 admin 페이지 css 오류 (0) | 2022.12.30 |
---|---|
[Project] HTML의 정보를 E-Mail로 전송하기 (0) | 2022.12.27 |
[Django] BD에 담겨있는 쿼리 값 HTML에서 사용하기 (0) | 2022.11.25 |
[Django] DB 만드는 법 (0) | 2022.11.22 |
[Django] 프로젝트 구조 설정, 만드는 순서 (0) | 2022.11.22 |