Coder Social home page Coder Social logo

itca's Issues

3월 2일 TODOLIST

최태형님.
1)가맹점 수정+이미지 오류 수정
image

png,jpg 이미지 업로드 불가

2)추천알고리즘

권영환님
1)검색화면 마무리
2)예약 화면 (나의 예약)

최태형님 API 제작

1.restapi - json 형태
www.dalgom.com/api/v1/???

기능1.users 테이블에서 auth(일반,가맹점)
에 따라서 마이페이지 데이터를 다르게 보여줘야 함.
일반 -> 내정보
가맹점 -> 내가 가지고 있는 가맹점 정보
기능2.마이페이지 -> 가맹점 -> 등록,수정,삭제,조회

기능3.검색화면 검색했을 때 여러개의 리스트로 나오도록(간단히)
기능4.검색화면에서 해당 가맹점 1개를 클릭해서 들어갔을 때 자세히 나오도록

기능5.예약페이지 들어갔을 때 내가 예약한 페이지 나오도록
기능6. 기능4에서 가맹점 1개를 클릭해서 들어가서 예약을 할 수 있도록

2.17 TO DO LIST

강사님
1.서버 확인 -> 완료됨
2.젠킨스 확인 -> 완료됨
3.HTTPS 인증서 확인 -> 수정중
4.구글,네이버,다음 사이트 등록

안효진님
1.flutter 웹뷰 완성

권영환님
1.알고리즘 flow 그려보고 -> 완료됨
2.검색 알고리즘 토의 -> 완료됨
3.검색 API 제작 -> 수정중

최태형님
1.가맹점 등록(멀티 이미지 등록 오류) -> 완료됨
+
기능1.users 테이블에서 auth(일반,가맹점)
에 따라서 마이페이지 데이터를 다르게 보여줘야 함.
일반 -> 내정보
가맹점 -> 내가 가지고 있는 가맹점 정보
기능2.마이페이지 -> 가맹점 -> 등록,수정,삭제,조회 -> 수정중
기능3.검색화면 검색했을 때 여러개의 리스트로 나오도록(간단히)
기능4.검색화면에서 해당 가맹점 1개를 클릭해서 들어갔을 때 자세히 나오도록
기능5.예약페이지 들어갔을 때 내가 예약한 페이지 나오도록
기능6.기능4에서 가맹점 1개를 클릭해서 들어가서 예약을 할 수 있도록

  • 평점,리뷰 시스템 알고리즘

맛집 추천 알고리즘에서의 개념 분리

처음 메인화면에 들어갔을 때
각종 카테고리
image

와 각종 조건별 추천하는 매장들을 보여주게되는데
image

image

image

위 list를 조회해 올 때 사용한 조건과

조회해온 리스트를 정렬 할 때 사용하는 조건은 다르게 분류해야 할 거 같습니다.

list를 조회해 올 때 사용할 만 한 조건은

image

이 되고

이미 불러온 리스트들을 정렬하는 방법은
image
으로 해야할 것 같습니다.

따라서 Controller java단에서 이미 불러온 리스트의 매장들을 각 조건별 가중치 점수를 줄때는
후자의 조건만 따질 수 있을거같습니다.

2월 4일 TODOLIST

강사님 -
1.도메인 등록
2.html디자인 템플릿 변경
3.젠킨스 셋팅 및 웹서버 띄우기

권영환님 - 검색 알고리즘 API 제작
최태형님 - 가맹점 등록 API 제작
안효진님 - 이미지 DB등록 및 flutter 셋팅

달곰앱 오픈 관련

달곰앱 클라우드 비용이 월 8만원이 나와서...
일단 서버는 잠시 중단하겠습니다.

혹시 포트폴리오로 웹서버 접속이 필요하다면
댓글로 알려주세요~
잠시 올려드릴게요~

앱 오류 수정 요청

  1. net:err_cache_miss 오류 발생

  2. 아이콘 splash 이름, 아이콘도 flutter 기본 모양
    -> 달곰 디저트 앱 이름 변경

2.25일 TO DO LIST

강사님
1.스토어 여러개 크롤링

안효진님
1.앱로딩 화면 스플래쉬 추가 개발
2.만든 apk앱을 웹에 업로드

권영환님
1.검색/예약 화면 제작

최태형님
1.가맹점 화면 부분
2.추천 시스템 알고리즘

imageRepository

package com.itac.login.entity.image;

import com.itac.login.control.ArticleController;
import com.itac.login.entity.image.image;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Optional;

public interface imageRepository extends JpaRepository<image, Long> {
static void saveAll(List images) {
}

@Transactional
@Modifying
@Query(value = "INSERT INTO public.image(originalFileName, realPath, saveFileName) VALUES(:originalFileName, :realPath, :saveFileName)", nativeQuery = true)
int imageInfo(@Param("originalFileName") Optional<String> originalFileName, @Param("realPath") String realPath, @Param("saveFileName") String saveFileName);

}

https 인증서 연결

도메인 셋팅 완료

https 인증서 발급 완료

https 인증서 nginx에 셋팅중...

2.18 TO DO LIST

강사님
1.HTTPS 인증서 확인 -> 완료
2.구글,네이버,다음 사이트 등록 -> 완료
3.robots.txt 및 구글 어날리틱스 설정 -> 완료

안효진님
1.flutter 웹뷰 완성 -> 완료
2.webview 파란색 테두리 삭제
3.마이페이지 -> 가맹점 / 일반회원 구분 화면개발
4.앱로딩 화면 스플래쉬 추가 개발

권영환님
1.추천 알고리즘 API 제작

최태형님
기능 마이페이지 -> 가맹점 -> 등록,수정,삭제,조회

2.24 TODOLIST

강사님
1.postgresql db timeout 수정 -> 확인중
2.전체적으로 소스 리뷰 -> 완료
3.스토어 여러개 크롤링

안효진님
1.webview 파란색 테두리 삭제
2.마이페이지 -> 가맹점 / 일반회원 구분 화면개발
3.앱로딩/웹로딩 화면 스플래쉬 추가 개발
4.만든 apk앱을 웹에 업로드

권영환님
1.추천 알고리즘 API 테스트
2.검색/예약 화면 제작

최태형님
1.기능 마이페이지 -> 가맹점 -> 수정 API 제작
2.가맹점 화면 부분
3.추천 시스템 알고리즘

spring boot 에서 세션 정보 가져오는 방법

@SneakyThrows
@Override
@Transactional
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
        Authentication authentication) throws IOException {
    String memberId = SecurityContextHolder.getContext().getAuthentication().getName();

public boolean check(HttpServletRequest request, Authentication authentication) {
Object principal = authentication.getPrincipal();
System.out.println(request.getRequestURI());
if (!(principal instanceof User)) {

3월 3일 TODOLIST

안효진님.
1)최종 완료된 APK(파일 다운로드 페이지 업로드)
다운로드 파일 링크 ? apk 업로드(깃허브 ) -> 완료

권영환님
1)예약조회 -> 완료
2)알고리즘 정리해서 readme 추가(간트차트 위에다가)

최태형님
1)서버 업로드 -> 오류 수정
2)추천 알고리즘 readme 추가

mypage 못찾는 오류

2024-02-18 10:58:42 TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([auth4_4_] : [VARCHAR]) - [general]
2024-02-18 10:58:42 TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([useremai5_4_] : [VARCHAR]) - [[email protected]]
2024-02-18 10:58:42 TRACE o.h.t.descriptor.sql.BasicExtractor - extracted value ([userpass6_4_] : [VARCHAR]) - [$2a$10$vdFt65.BuHmbCXp4vjtFp.2.CvaJcyg189UYH69kMQtyByVQ6LlNC]
2024-02-18 10:58:44 ERROR org.thymeleaf.TemplateEngine - [THYMELEAF][http-nio-8080-exec-10] Exception processing template "/mypage/mypage": Error resolving template [/mypage/mypage], template might not exist or might not be accessible by any of the configured Template Resolvers
org.thymeleaf.exceptions.TemplateInputException: Error resolving template [/mypage/mypage], template might not exist or might not be accessible by any of the configured Template Resolvers
at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869)
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607)
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098)
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072)
at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:366)
at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:190)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1401)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1145)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1084)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:67)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:102)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:93)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:147)
at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:219)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:213)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)
at org.springframework.security.web.FilterChainPro

DB변경사항(Store에 관하여)

storelocation이 varchar(20)인 문제(띄어쓰기 없이 10자가능인상태)
--> varchar(80)으로 수정

평점이 지금 varchar(5)로 되어있는 문제
--> DECIMAL(2,1) 로 변경
-- ex) 0.0~5.0까지 나타낼수 있는 자료형으로 변경
(완료)

맛집 추천 알고리즘 flowchart에 관하여

맛집 추천은 거시적으로 두 가지를 선택할 수 있는데

  1. 현재 유저의 위치를 받아서 주변의 맛집을 추천하는 경우
  2. 유저가 검색을 했을때 검색 결과를 기반으로 연산을 하여서 맛집을 추천하는경우

참조를 위하여 catchtable에 들어가 봤을때
유저의 위치를 입력 또는 감지하지 않고도 전국 기준으로
전체적인 조회를 하는것으로 보이고 크게 두가지 필터가 있는것을 보여집니다.

  1. 지역 , 2특정 기준으로(웨이팅 순, 리뷰순, 가격순, 거리순) 으로 정렬하는 모습을 보여주었습니다.
    이 경우의 그림은 대략
    제목 없음

  2. 유저가 검색을 했을때 검색 결과를 기반으로 연산을 하여서 맛집을 추천하는경우
    는 유저가 검색을 할때마다 별도의 테이블에서 통계를 쌓아서 그 통계를 기반으로
    데이터를 검색해서 출력해야 한다고 생각이 들었습니다.
    제목 없음2

2/3~2/4 TODOLIST

강사님 - 화면개발
최태형님 - 가게정보/검색/예약 RESTAPI 개발
안효진님 - 사진 업로드 DB저장 +github+ 본인 pc flutter 셋팅

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.