Giter Site home page Giter Site logo

swppfall2022-team17's Introduction

Build Status

Quality Gate Status

Coverage Status

Instructions on running the application and testing are written in each README.md in /cago-web and /cago-server

swppfall2022-team17's People

Contributors

askrid avatar impjh avatar jhm1313 avatar ozeeeno avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

askrid ozeeeno

swppfall2022-team17's Issues

[Web] Register Cafe Page

  • /admin/register-cafe page
  • Show a map from Kakao maps API, and show the markers of the cafes. The list of cafes is not from the backend server but the Kakao maps' place search API.
  • When the user clicks a marker, set 'location' and 'address' state.
  • The form should include 'registration number', 'name', and 'phone number' fields.
  • Redirect to /admin/dashboard page after successful submit.

[Web] Cafe Information Page

  • /admin/dashboard/:cafe_id/info
  • /cafes/:cafe_id/info
  • Show cafe introduction, statistics, and business information.
  • On admin page, cafe introduction and business information should be editable.
  • imageview : as a component

[Server] Create Models

Except BoardArticle and BoardComment

  • Like
  • CafeImage
  • Review
  • CafeMenu

Following the previous design document & sprint 5 plan.

[Web] Admin Dashboard page

/admin/dashboard page

  • Show list of the managing cafes, using the result of GET /cafes/?manager
  • There is a operation toggle button for each cafe, toggling 'force_closed' button using PATCH /cafes/:cafe_id/
  • '카페 등록하기' button redirects to /admin/register-cafe page.

/admin/dashboard/:cafe_id page

  • Partial implementation - only show information of the cafe.
  • '자세히' button redirects to /admin/dashboard/:cafe_id page

[Web] Like Feature

  • 특정 카페의 정보가 있는 페이지에서, 로그인한 유저가 그 카페를 like할 수 있도록
  • 더불어 카페 이름도 표시
  • 헤더, 문서 상단 등

[Web] Map center changes on location change

Remove following code from KakaoMap component.

if (watchPositionId == -1) {
      watchPositionId = navigator.geolocation.watchPosition((position) => {
        setCurrentLocation({ x: position.coords.longitude, y: position.coords.latitude });
      });
    }

[Web] Dashboard

except ImageView

  • Board
    Make a Board component named BoardSummary
  • Information
    Make a Information component named CafeInfoSummary
  • Reviews
    Make a Reviews component named ReviewSummary
  • Menu
    Make a Menu component named MenuSummary

[Web] Cago Admin Header

  • Under the proper paths, include:
    • Cafe name
    • # of likes (later on sprint 5)
    • Operation toggle button

[Server] Cafe APIs

  • GET /cafes/?location&?manager
  • GET /cafes/:cafe_id/
  • POST /cafes/
  • PUT/PATCH /cafes/:cafe_id/
  • Modify Cafe model
  • (Update) add 'introduction' field to ManagedCafe model. This field could be blank.

[Server] Cafe Menu APIs

  • GET /menus/?cafe_id
    • Sort by 'category' field.
  • POST /menus/
    • Additional permission checking in validation step
  • PUT/PATCH /menus/:menu_id/
    • Obj level permission
  • DELETE /menus/:menu_id/
    • Obj level permission

[Server] User Authentication

Implement below APIs

  • POST /auth/signup/
  • POST /auth/login/
  • POST /auth/logout/

Implement below models

  • User model

[Web] Cafes Page

  • /cafes page
  • Show a map from Kakao map API, and set markers corresponding to the result of GET /cafes/?location
  • On clicking a marker, show overlay/popup/modal that contains brief summary of the cafe.
  • On clicking the outside of the overlay/popup/modal, unshow it.
  • Clicking '자세히' button/link will redirect to the /cafes/{cafe_id}/info page

[Server] Logout

클라이언트에서 HttpOnly 쿠키를 삭제할 방법이 없군요.. 제 생각이 짧았습니다. 다음 API 구현해야할 것 같습니다.

  • GET /auth/logout/ - Delete refresh_token cookie.

[Web] Deny access to cafe-specific manager pages from normal users

Although we have object-level permission checking logic for backend APIs, there is no such kind of thing in our web app pages. If someone tries to access the manager page e.g. /admin/dashboard/5 where the user is not one of the mangers of the cafe with id=5, then it should redirect to the page /admin/dashboard. Fortunately there is 'managers' field in our GET /cafes/:cafe_id/ API so this feature could be implemented by only working on the frontend side.

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.