Giter VIP home page Giter VIP logo

dimigoin-front's Introduction

dimigoin-front

Codacy Badge CircleCI website status JavaScript Style Guide MIT License commit activity Greenkeeper badge

한국디지털미디어고등학교 시스템 전산화 프로젝트, DIMIGOIN

Documentation

License

MIT

dimigoin-front's People

Contributors

chalkpe avatar changemin avatar codacy-badger avatar cokia avatar dependabot[bot] avatar greenkeeper[bot] avatar hjh010501 avatar imgbot[bot] avatar junhoyeo avatar rycont avatar smnis avatar suhdonghwi avatar taevel02 avatar wjaykim avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dimigoin-front's Issues

Minor UI changes in Afterschool Request

  • 1, 2, 3 ... 교시에서 월 화 수 목 금 원래대로 바꾸기
  • 타이틀 "2018년 ⛷겨울방학☃ 방과 후 활동 신청" → "방과 후 활동 신청"

Monorepo proposal

What problem does this feature solve?

Since we publish more and more packages, managing internal packages will become annoying. Monorepo solution might be helpful in the future.

Related to #6

동아리 신청 페이지 이슈

동아리 신청 기간 이슈

현재 디미고인 동아리 신청 페이지는 old 한 api 기준으로 작성되어있습니다.
기존 circle json response 에서 apply_start_date 와 apply_end_date 가 모두 삭제되었으며, 이는 모두 config API 를 통해 동아리 신청 및 마감 기간을 불러오도록 하였습니다.

동아리 합격 이후 최종 버튼

현재 디미고인 동아리 신청 마지막 과정 중 신청자에게 최종 버튼의 위치가 신청 / 취소 버튼이 있는 다이얼로그 창이 아닌 circle 카드 창에만 나와있습니다.

그 외 간단한 요구사항

  • 자기소개 칸 line-height 증가
  • 타이틀 "2019년 동아리 가입 신청🚀" → "동아리 가입 신청"

Zeze's 要請文

  • 인강실 신청 페이지 들어갈 때 인강실 공지 창 띄우게 하기
  • 공지사항 등록 관리자 페이지
  • dimigoincon 디스코드에 있는 아이콘으로 업데이트

동아리 개설 및 관리페이지 기능

[POST] /circles/add/ (동아리 개설 API)

{
  "name": "string", // 동아리 명
  "description": "string", // 동아리 설명
  "category": "string" // 카테고리
}

로 개설을 먼저 한 후

[POST] /circles/image/ (동아리 로고 이미지 등록 API)

로 파일 업로드 해 주시면 됩니다

만일, 로고 이미지를 재 등록 하실 경우는 [PUT] 메소드로 해 주세요

참고로 동아리 이미지 로드 API 는 [GET] /circles/images/{idx} 입니다.

teacher 서비스와 management 서비스를 통합

현재 management에는 동아리 신청 관리, Dets 관리, 도서 신청 관리가 있고
teacher에는 인강, 상담, 방과후 신청이 있는데 둘을 어떤 기준을 가지고 나눈건지 알 수 없음

TypeError: Cannot read property 'idx' of undefined

Sentry Issue: DIMIGOIN-FRONT-1M

Caused by API changes.

TypeError: Cannot read property 'idx' of undefined
  at Notice (./app/src/struct/book.js:14:14)
  at call (./app/src/api/book.js:125:10)
  at a (./app/src/struct/book.js:16:15)
  at u (./app/src/struct/book.js:16:15)
  at nrWrapper (/static/js/jennifer.js:1:16970)
...
(3 additional frame(s) were not displayed)

Placeholder Component

로딩중에는 로딩 애니메이션 대신 Placeholder Component를 따로 만들어서 쓰자

Excel file downloading in management and teacher pages should request with Authorization Header

관리 & 선생님 페이지 엑셀 파일 다운로드 이슈

엑셀 파일을 다운로드 하기 위해 엑셀파일 다운로드를 누를 시 permission 을 확인하기 위해 JWT Token 이 Header 에 포함되어야 합니다. 현재 다운로드 시 발생하는 response 는 다음과 같습니다.

{
    message: "Missing Authorization Header"
}

반드시 #84 를 참고해서 적용해야 합니다. 우선적으로 본 이슈를 #84 의 요구사항을 적용하여 해결하고, 이미 존재하는 다른 다운로드 버튼은 별개의 PR로 작업하세요.

Show progress feedback to user on download something

AJAX로 파일 다운로드를 하게되면 사용자가 요청한 뒤에 아무런 반응이 없고 그저 하염없이 기다려야만 하기 때문에 적절한 UI 피드백이 필요합니다 (해당 버튼에 다운로드 퍼센트를 보여주는 등)

해당하는 서비스 목록

  • 인강실 관리자 액셀 다운로드
  • 과제 관리자 과제 다운로드

추가바람

Push Dashboard

push 권한을 가진 사람들이 디미고앱에 푸시 메시지를 보낼 수 있는 페이지가 필요함.

선생님 관리 페이지에 둘 계획임.

json (아래 내용 참조) 형태로 보낼 수 있어야함.

{
  "sender": 푸시알림 보낸 이
  "timestamp": 시간
  "title": 알림 제목
  "description": 알림 내용
}

푸시를 받는 이들과 푸시를 보내는 것은 모두 백엔드 API /push/ 에서 처리할 계획

Feature request in teacher afterschool management page

  • 엑셀 파일 다운로드 버튼이 없습니다 (학년별로 달라야합니다.)
  • 세부 관리 페이지가 존재하지 않습니다. 세부관리 페이지는 해당 방과후 신청자 학번 이름을 띄어주는걸 클라이언트가 원하시는듯 싶습니다

#54 를 참고해서 구현해야 합니다.

API payload has changed in afterschool

방과후 신청 API 변경

기존 API 에서는 request_start_date 와 request_end_date 둘 다 Datetime 에 맞추어 API 를 작동시켰다면, 지금은 Unix Timestamp 를 이용하여 시간을 정수 형태로 표현하고 있습니다. 따라서 다음 API 에 있는 request_start_date 와 request_end_date 둘의 value 를 integer 형식의 unix timestamp 로 변경하여 기능에 적용해주시길 바랍니다.

request_start_date 와 request_end_date 는 방과후 신청 시작 시간, 마감 시간을 의미합니다.

[POST] /afterschools/

[GET] /afterschools/grade/{target_grade}

[GET] /afterschools/student/

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

TypeError: Cannot read property 'target_grade' of undefined

Sentry Issue: DIMIGOIN-FRONT-28

Caused by API changes.

TypeError: Cannot read property 'target_grade' of undefined
  at call (./app/src/api/ingang.js:139:29)
  at u (./app/assets/brand.svg:24:2903)
  at s (./app/assets/brand.svg:24:2903)
  at nrWrapper (/static/js/jennifer.js:1:16970)
...
(2 additional frame(s) were not displayed)

"최종 결정 버튼" doesn't exist in circle modal

동아리 합격 이후 최종 버튼

현재 디미고인 동아리 신청 마지막 과정 중 신청자에게 최종 버튼의 위치가 신청 / 취소 버튼이 있는 모달 창이 아닌 circle 카드 창에만 나와있습니다.

Change max request count in afterschool same day

  • 기존에는 한 요일에 최대 1개의 방과후 신청만을 가능하게 하였지만, 2019년에는 방과후를 한 요일에 2개씩 들을 수 있게 변경한다고 합니다.
  • 프론트단에서는 [GET] /afterschools/student/ 로 받아올때 특정 요일에 방과후 status 가 request 로 된게 2개일 경우 막아주시면 됩니다.
  • 이는 나중에 확장성을 고려하여 요일당 최대 신청 방과후 갯수를 지정할 수 있게 관리자페이지에서 변경할 수 있게 하여야 하며 이는 시간관계상 나중에 진행 하는게 좋을 듯 싶습니다.

인강실 신청 페이지 이슈

인강실 신청 페이지 이슈

현재 가장 고쳐야 할 점이 많은 인강실 신청 페이지입니다.
기존 Javascript array 로 보내주던 인강 response 를 json 으로 변경하였습니다.

To-do

  • 인강실 신청 페이지 들어갈 때 인강실 공지 창 띄우기

TypeError: Cannot read property 'dets' of undefined

Sentry Issue: DIMIGOIN-FRONT-1C

It occurs in the ManageDets page

TypeError: Cannot read property 'dets' of undefined
  at call (./app/src/api/dets.js:12:19)
  at a (./app/src/struct/dets.js:31:9)
  at u (./app/src/struct/dets.js:31:9)
  at None (./app/src/struct/dets.js:31:9)
  at nrWrapper (/static/js/jennifer.js:1:16970)
...
(45 additional frame(s) were not displayed)

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

TypeError: t.sent.flatMap is not a function

Sentry Issue: DIMIGOIN-FRONT-39

Use Array.prototype.reduce instead of flatMap

TypeError: t.sent.flatMap is not a function
  at P (./app/src/api/permission/index.js:7:63)
  at a (./app/src/api/permission/index.js:7:63)
...
(1 additional frame(s) were not displayed)

API payload has changed in circle

## 동아리 신청 API 변경
기존 API 에는 모든 동아리에 apply_start_date 와 apply_end_date 가 포함되어 이를 통해 신청 시작 및 마감 기간을 정할 수 있었지만, 굳이 그럴 필요가 없을 거 같아 해당 key 를 [GET] /config/circle/request_start(end)_date 로 불러올 수 있게 변경하였습니다.

### [GET] /circles/

{
  "circles": [
    { //  apply_start_date 와 apply_end_date 가 삭제됨
      "idx": 0,
      "name": "string",
      "description": "string",
      "category": "string",
      "profile_img": "string",
      "chair_idx": "string", 
      "chair_serial": "string",
      "chair_name": "string",
      "status": "string"
    }
  ]
}

### [GET] /config/circle/request_start(end)_date

{
  "idx": 1,
  "service": "circle",
  "key": "request_start(end)_date",
  "value": "2019-01-14 10:09:00"
}
```~~

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

IE11 Support

현재까지 발견된 IE11에서의 스타일 이슈는 메인화면에서 서비스들의 그리드 레이아웃이 유일합니다.

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.