728x90

프로젝트 10

[고양이와 책을] 프로젝트 결과 정리

무려 작년 12월(11월말쯤) 부터 시작한 사이드 프로젝트가 드디어 끝났다. 그동안 좀 루즈하게 진행되기도 해서 4월에서야 끝이 났다. 프로젝트의 주제 키워드로 책을 검색하고 그 중 선택한 책에 대해서 서평을 작성할 수 있는 사이트 이후 작성한 서평을 목록 형태로 관리할 수 있다. 사용한 기술 우선 프론트로 React, 백엔드로 Django를 사용했다. 또한 책 검색 API로 카카오 검색 open API를 사용했으며, 서버 배포르 위해 GCP의 conpute instance를 사용했다. 기능 목록 * 회원 관련 기능 (회원가입 / 로그인 / 회원 정보관리) * 검색 관련 기능 (키워드로 책 검색 - 랜덤으로 5개의 결과가 나옴) * 서평 관련 기능 (서평 작성, 수정, 삭제, 상세보기 및 목록 보기 기능..

[미니프로젝트4] React_Image_Search

4번째로 진행한 미니프로젝트로, 리액트를 마무리짓는 느낌으로 진행된 프로젝트였다. 프로젝트를 간략히 소개해보자면 다음과 같다. 이미지 검색 API를 이용하여 키워드에 대한 이미지 검색 결과를 출력하고 원하는 결과가 아닐 경우 쿼리 재조합을 통한 재검색 기능 구현 🚀 프로젝트의 상세내용은 다음과 같다. 사용자가 입력한 텍스트로 이미지 api를 호출 해당 텍스트로 검색된 image를 보여줌. 사용자가 원하는 이미지가 아닐 경우 (ex: 대선을 입력시 大選이 아니라 소주 '대선'이 나오는 경우) 아래 로직을 수행함. a. 검색 api를 통한 텍스트에 대한 뉴스 기사들을 크롤링 b. 텍스트를 긁어온 후에 Koalanlp를 사용해서 명사들을 추출 c. 명사들의 빈도수를 측정 d. 빈도수가 높은 명사들을 하나씩 텍..

[미니프로젝트3] Adopt Cat (고양이 입양 홍보 웹사이트)

3번째로 진행한 미니 프로젝트 이다. 프론트로 배운 HTML, CSS, JavaScript를 이용하려고 시작한 프로젝트로, 우리팀은 이번 프로젝트 주제를 다음과 같이 잡았다. 구조된 혹은 임시 보호하는 고양이의 입양을 독려하기 위한 홍보 페이지 프로젝트에 대한 상세 설명은 다음과 같다. 서비스 소개 : 고양이를 입양할 집사들을 찾는 웹사이트 프로젝트 기간 : 22/02/23 ~ 22/02/24 기술 스택 : HTML, CSS, JavaScript => 웹페이지를 만들기 위한 기본 툴로 사용 Node.js => get, post 기능을 이용하기 위해 간단히 쓰려고 만든 서버 화면 별 기능 : 📢메인 - 입양 홍보하는 고양이의 간단한 소개글, 클릭시 상세페이지로 이동 🧾상세화면 - 고양이 상세정보, 입양 신..

[고양이와 책을] 비밀번호 변경 ( patch, QuerySet - update )

sql에서 update와 연결되는 api는 put과 patch가 있다. 이 둘의 차이를 간단하게 이야기 하자면, update 할때 어디까지 정보를 가져와서 변환하는 가 이다. put은 데이터 한 열을 통으로 가져와 수정하고, 그 통으로 저장한다면, patch는 데이터 중 일부 속성을 가져와서 수정하고, 그 일부를 다시 저장한다는 것이 차이다. 이번에 구현할 '비밀번호 변경' 기능은 유저 데이터의 비밀번호 데이터만 변경하면 되는 것이라 put 보다는 patch가 적합하다는 판단을 내려 patch로 개발하게 되었다. post, get등과 마찬가지로 클래스를 선언한 후, patch 메소드를 구현했다. import json from django.views import View from django.http im..

[미니프로젝트2] TODOWEB (웹에서 쉽게 관리하는 할 일 목록)

부트캠프를 하며 진행한 두번째 미니프로젝트이다. 웹사이트 제작을 진행한 프로젝트인데, 지난 미니프로젝트와 다르게 허접하지만 제대로 된 뷰와 DB를 만들고 진행한 프로젝트라 나름 끝내고 뿌듯했다. 지금까지 학습한 JSP와 Servlet 등의 지식을 활용해 간단하게 할 일 목록을 관리하는 서비스를 만들었고, 상세 설명은 다음과 같다. 서비스 소개 : 언제나 로그인만 하면 확인 가능한 Todo List 핵심 기능 : 😀회원가입/로그인 - 이메일만 있으면 가입이 가능하고, 이를 이용하여 로그인 해 서비스를 이용할 수 있음 🧾할일 목록 - 작성한 할일 목록을 보여주고, 완료(삭제) 처리 할 수 있음 📝할일 작성 - 해야할 일의 이름, 시작 시간, 마감 시간을 지정하여 할일을 추가 할 수 있음 동작 구조 실행 화면..

[고양이와 책을] 로그인 정보 넘기기(Django - QuerySet)

기존 로그인의 post 코드에는 status와 message만 파라미터로 넘겼었다. 프론트에서 로그인 정보를 가지고 다른 작업을 해야 하므로, uid(고유 유저 번호), userName, userEmail의 정보를 JsonResponse로 넘기고자 했다. 현재 요구사항은 프론트에서 넘어온 유저 이메일을 통해 데이터베이스에 접근해서 uid와 userName을 꺼내오는 것이다. 이를 위해 우리는 모델의 object 객체를 이용할 것이다. 그 중에서도 특정 조건을 달아 받아올 수 있는 filter()를 이용해서 받아온 유저 이메일이 존재 하는 지 확인을 할 것이다. if User.objects.filter(userEmail = data['userEmail']).exists() == True: 만약 존재 한다면..

[고양이와 책을] json 인코딩 에러 해결

그동안 영어로만 테스트 해서 한글 인코딩 부분을 미처 확인 하지 못하고 있다가, 다른 팀원이 이 오류를 발견해서 이를 해결하였다. json으로 보낸 객체가 한글이 포함되어있으면 아스키 코드로 나오는 문제였는데, JsonResponse의 파라미터 중에 json_dumps_params에 ensure_ascii를 false로 하면 해결되는 문제 였다. JsonResponse({"data" : list(users)}, json_dumps_params={'ensure_ascii': False}, status = 200) 이런식으로 return 값을 수정했더니 정상적으로 한글이 보여졌다. [LoginView 클래스의 get() 풀 코드] def get(self, request): user = User.objects..

[고양이와 책을] 로그인과 회원가입 기능 구현

코드 자체를 짠지는 좀 시간이 지났지만, 이를 프론트(리액트) 단과의 연결이 성공적인지 등을 확인하느라 업로드가 늦어졌다. (사실 지금도 코드가 완벽하진 않다.) 일반적으로 장고로 백엔드를 구현할 때는 REST Framework를 이용해 구현하는 것이 일반적이다. 그러나 나는 기본적인 REST API를 직접 구현해보고자 하여 이를 이용하지 않고 진행해보았다. (추후에 이를 이용하는 코드로 변경할 수도 있다.) 기본적인 장고 환경구성이 완료된 후, 회원가입과 로그인 기능을 구현할 user앱을 만들었다. 그리고 앞으로 이 앱에서 사용할 URL을 /user 하단에 넣기 위해 config 폴더 안의 urls.py 파일을 다음과 같이 작성했다. from django.contrib import admin from ..

[미니프로젝트1] JAVA 미니프로젝트

부트캠프를 하면서 처음으로 진행한 미니프로젝트 이다. 지금까지 학습한 JAVA의 지식을 이용해서 간단하게 MVC 패턴을 구현해보고자 했다. 만 하루 정도를 투자하여 만든 프로젝트 이고, 프로젝트의 설명은 다음과 같다. 주제 : 중고물품을 거래하는 서비스 핵심기능 : 💾물건 등록 - 물건의 이름, 가격, 유저 정보를 입력하여 저장할 수 있음 🧐물건 검색 - 물건의 이름으로 검색 후 물건의 객체를 반환, 검색을 수행할 때마다 조회수가 증가함 📝물건 가격 수정 - 유저 닉네임, 유저 비밀번호를 통해 현재 사용자가 해당 물건의 판매자인지를 확인한 후 물건의 이름과 새로 저장할 가격을 받아서 물건의 가격 정보를 수정 ❌물건 삭제 - 유저 비밀번호를 통해 현재 사용자가 해당 물건의 판매자인지를 확인한 후 물건 삭제..

[고양이와 책을] 서비스 기획

백엔드 툴로 장고(Django)를 사용하고 싶어서 미니 프로젝트를 기획하게 되었다. 프론트 1명 백엔드 2명으로 이뤄졌고, 나는 백엔드를 담당하게 되었다. 기본 골자는 책을 선택하여 서평(독후감)을 작성하는 사이트 이다. 고양이를 좋아해서 고양이가 책을 추천해준다는 컨셉으로 사이트 디자인을 하였다. 사용자가 검색창에서 키워드를 입력하면, 해당 키워드에 맞는 책을 랜덤으로 5개 선택해 띄워준다. 사용자는 여기서 한 권을 선택해 책을 읽고, 이에 대한 서평을 작성할 수 있다. 프론트엔드는 리액트로, 백엔드는 장고를 이용하였다. DB는 SQLite를 이용하기로 했다. 우선은 로컬에서 작업하지만, 사이트가 완성되면 이를 오라클 클라우드 서버를 이용하여 클라우드 서버에 올릴 계획이다. 협업은 깃을 이용하고 사용하..

728x90
반응형