Git Product home page Git Product logo

skku-coding-platform's Introduction

[WARN] We don't work on this repo anymore. 더 이상 이 repo는 개발하지 않습니다.
We moved to a new repo. 새로운 repo를 참고해주세요. skkuding/next


SKKU Coding Platform

issues build status
python django vue

QingdaoU OJ를 기반으로 제작한 성균관대학교 Online Judge 시스템입니다.

Installation ⚙

Docker를 설치하고, docker compose를 실행합니다.

> git clone https://github.com/skkuding/skku-coding-platform.git
> cd skku-coding-platform
> docker-compose up -d

이후 http://localhost에 접속하면 페이지를 확인할 수 있습니다.
초기 admin 계정은 아이디 root, 비밀번호 rootroot 입니다.

Documentation 📚

Wiki를 참고해주세요.
https://github.com/skkuding/skku-coding-platform/wiki

운영진

박민서 @minseo999
하솔비 @SOLBI1028

백엔드 팀장: 김학산 @cranemont
프론트엔드 팀장: 하지민 @jimin9038

백엔드 팀

프론트엔드 팀

🔥 2021.03 - 2021.08 Contributors 🔥

팀장

책임: 한채정 @Jeongcc
부책임: 이병현 @22222bh

백엔드 팀장: 이병현 @22222bh
프론트엔드 팀장: 하지민 @jimin9038

백엔드 팀

프론트엔드 팀

🔥 2020.12 - 2021.02 Contributors 🔥

팀장

책임: 한채정 @Jeongcc
부책임: 이병현 @22222bh

백엔드 팀장: 최재민 @dotoleeoak
프론트엔드 팀장: 김주영 @illuminoplanet

백엔드 팀

프론트엔드 팀

Special Thanks

이은석 학장님, 김영훈 교수님, 박재성

skku-coding-platform's People

Contributors

aintbe avatar anzanda avatar benhenryl avatar cho-to avatar cranemont avatar cyw320712 avatar dailyps avatar dependabot[bot] avatar dotoleeoak avatar ghdwlsrl3229 avatar goo314 avatar imgbotapp avatar jeongcc avatar jimin9038 avatar joft-ware avatar kohminchae avatar mixxeo avatar nhjbest22 avatar pinecone28 avatar snyk-bot avatar y-jiu 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

skku-coding-platform's Issues

Pending Queue 점검

도커 컨테이너 restart 이후 일부 제출이 pending 상태에서 바뀌지 않는 issue가 확인되었습니다.
Pending Queue 구현 내용을 점검하여 해당 부분의 reliability를 높일 필요가 있습니다.
image

상황별 DB 조회 페이지

디자인팀 : UI 구성
프론트엔드 : UI대로 페이지 제작
백엔드 : 학년별, 전공별, 복수전공별 등의 상황에 따른 db 조회 api 만들기

Manage chunks and split codes via webpack

배포용 파일(dist) build 시 각 chunk의 크기가 너무 큼.
웹페이지 초기 렌더링 시 너무 많은 데이터를 불러오기 때문에, 성능이 저하됨.
chunk를 적절한 크기로 나눠야 초기 렌더링에 오랜 시간이 걸리지 않음.
관련한 webpack, Vue-CLI 설정 찾아봐야 될 듯.

image

글꼴 적용

각종 글꼴 업로드 및 적용

  • san serif => ??
  • monospace => Cascadia Code

Problem Page 'RUN' 기능 동작

Problem 페이지에서 코드를 실행해볼 수 있도록 기능 구현하기

  • 실행결과를 보여줄 방식 결정하기 + 구현하기

유저 정보 수정/추가

image

표시 정보 수정

username => 학번(student ID)
email => @g.skku.edu 또는 @skku.edu 만 허용

추가 정보

학과 입력

UI 좌우폭 조절

문제 설명과 같이, 전반적인 UI의 좌우폭을 적당하게 줄일 것.
예: width: min(70%, 100px)

image

유저 선호 언어 설정

유저 별로 선호하는 언어(C, C++, Python3 등)를 선택하여, 다음 제출 시 해당 언어를 기본 언어로 설정한다.
다른 문제를 풀 때마다 언어를 다시 선택해야 하는 불편함을 줄인다.

Node packages vulnerabilities

found 1288 vulnerabilities (721 low, 42 moderate, 525 high) in 1446 scanned packages
  run `npm audit fix` to fix 1238 of them.
  11 vulnerabilities require semver-major dependency updates.
  39 vulnerabilities require manual review. See the full report for details.

i18n 제거하기

Frontend에서는 다국어 지원을 위해 i18n을 사용하고 있습니다.
우리 프로젝트에서는 다국어를 지원하지 않아도 되기에 제거하려고 합니다.

Get previous & next announcement in nicer way

# announcement/views/oj.py
# AnnouncementDetailAPI
data["current"] = AnnouncementSerializer(announcement).data
prev_announcements = Announcement.objects.filter(id__lt=id, visible=True)
if prev_announcements:
    data["previous"] = AnnouncementSerializer(prev_announcements.latest("create_time")).data
next_announcements = Announcement.objects.filter(id__gt=id, visible=True)
if next_announcements:
    data["next"] = AnnouncementSerializer(next_announcements.earliest("create_time")).data
return self.success(data)

현재 위와 같이 구현되어있지만, Django에 바로 이전/다음 object를 가져오는 method가 내장되어있음.
해당 method를 사용한 구현으로 변경할 것.

https://stackoverflow.com/questions/6021694/getting-next-and-previous-objects-in-django

Admin create problem관련 이슈

image

  1. create가 성공했을 때 위 그림처럼 succeed가 두 번 발생!

image

  1. displayID의 중복으로 create에 실패한 상황. 이 때도 succeed가 뜬다!

major 관련 업무

[백엔드]

  • major 정보를 가진 테이블 추가
  • 복수전공, SCSC 정보 저장하도록 User 테이블 수정하기

[프론트엔드]

  • 복수전공(소프트웨어학과, 컴퓨터공학과 등 : 추가 확인 필요), SCSC 등 입력 받기

vue-cli AutoDllPlugin 적용

yarn build시 시간이 오래 걸리기 때문에 AutoDllPlugin을 적용하여 bulid 시간을 단축하려 합니다.

문제 설명 편집 시 미리보기

문제 설명 편집기에서 MathJax를 종종 사용하는데, 실제 출력이 어떻게 되는지 확인되지 않아 어려움이 있다.
'문제 설명 미리보기 창'을 추가해 MathJax 적용 결과를 확인할 수 있도록 한다.

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.