장고로 백날 천날 프로젝트 하겠다 하겠다 했는데 이번 기회에 한 번 만들어보고자 마음 먹었다.
일단은 모바일 친화적인 웹 애플리케이션을 만들고싶었다. 물론 컴퓨터로 보면 좀 괴이할 듯..
일단은 피그마에서 제작한 것!

일단은 첫 번째 페이지. 로그인을 구현할 거다. 음.. 근데 자동 로그인 기능은 어떻게 하지? 일단 모르겠으니 시작해본다.

두 번째 페이지. 로그인하기를 누르면 아이디/ 비번을 치는 공간이 생기게 한다. 아마 장고에서 제공하는 user? 모델 그걸 사용할 것 같다. 회원가입하기는 누르면, 비밀번호 잃어버렸을때를 위한 이메일 주소, 아이디, 비번 정도만 받을 것이다.
근데 로그인이랑 회원가입 할 때 보안을 위한 처리를 하면 좋을 것 같다는 생각이 들었다.

이게 본 페이지이다. 일단 날씨 API를 받아서 간단하게 날씨 표현을 해주고, 만약 날씨가 흐리거나 하면 구름 같은 이미지로 바꾸던가 하고싶다. 그리고 명언 API를 받을 생각인데, 외국에는 명언 API가 있지만 국내에는 있는지 확인 해봐야할 것 같다. 그리고 할 일은 카테고리 별로 있는데, 이 카테고리는 사용자가 따로 설정할 수 있다.

다음은 상세 페이지이다. 운동을 누르면 해내야 하는 일과 해냈던 일들을 보여주도록 하고싶었다.
근데 할 일을 추가할 때 간단한 메모할 수 있는 공간이 있으면 좋을 것 같다.
일단 데이터베이스는.. 대충 적어보자면

이렇게 한 번 짜봤다. 일단은 1:N 관계를 외래키로 표현하랬는데
user_id가 하나 있으면 category가 여러 개 생성될 거라서 user_id를 Category에서 외래키로 지정했다.(음.. user_id가 Category에서는 여러 개 있을 거라 그렇게 말하는 것 같다. niniz - 운동, niniz - 공부 이런 것 때문인 듯)
근데 Tasks에서 문제가 되는 것 같은게 회원들 전부 다 Category 가 똑같을 게 걱정이다. 그러면 식별이 힘들 것 같은데 최대한 Category랑 연결되도록 외래키를 주고싶다. 아, 참고로 Category의 category_name은 유저가 직접 작성하는 거라 N:M 관계가 아니다. 한 개인 유저가 자신의 private한 category를 작성하는 거라서 1:N 관계이다.
아무튼, Category의 Index를 Tasks에 Index로 FK 하는 것은?
Category에서는 Index가 곧 category_name을 알려주는 것이므로 이를 Tasks에서 활용하면 되지 않을까 싶었다.

이렇게 수정해봤다. 근데 이대로 괜찮을지는 일단 코딩을 해봐야 알 것 같기는 하다.
'조열심 카테고리 > Backend 공부' 카테고리의 다른 글
| Django 특정 비밀번호 에러 안 뜨게 하기 (0) | 2022.12.20 |
|---|---|
| Django kakao allauth 구현 (0) | 2022.12.20 |
| [Backend] 2. Inter Process Communication(IPC) (0) | 2022.07.19 |
| [Backend] 1. 메모리와 메모리 관리 (0) | 2022.07.18 |