-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Judging portal with tools for submitting judging result, importing projects and assigning projects to tables #232
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
✅ Deploy Preview for dh-portal-beta ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
id String @id @default(cuid()) | ||
name String | ||
description String | ||
link String |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should link be unique
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
implicitly it should be unique cause it's the url of devpost page. we still don't know how the dorahacks exports are so i woulldn't worry about this too much yet.
…ing projects and assigning projects to tables (#232) * feat: finished MVP judging schema * fix: issue with logo path on /admin * refactor: decouple CustomInput logic * refactor: make admin index page organized * feat: add judging backend * feat: frontend to import project and assign them * feat: schema for judging * feat: install csv parser * feat: timeslot for hackers and admins * feat: judging page for judges * feat: add general track * fix: assign all mlh projects to one table and track * feat: proper handling of MLH projects in the timeslot algorithm * fix: improve UI * fix: make the tables work with mlh exception * fix: change default duration to 10 * feat: add judging rubric to db * refactor: better organize judging admin pages * feat: add proper component for grading + support markdown * feat: add support for dhYear config * refactor: add support for dhYear to judging endpoints * feat: add markdown support for rubric questions * feat: created judging rubric creation page for admins * feat: leaderboard to show top projects * fix: add typing for markdown component * feat: add general questions to tracks * feat: make leaderboard update every 30 sec * fix: use upsert instead of create * fix: get rid of extra states * fix: simplify year setting logic * fix: move invalidate to onSuccess * fix: simplify fetching logic * fix: make text smaller to avoid overflow * fix: make project follow timeslot order in judging page * refactor: get rid of dynamic project duration and project per table * refactor: adapt strategy pattern for different csv files
This pull request includes updates to dependencies, enhancements to the Prisma schema, and new components and pages for managing CSV uploads and judging schedules. The most important changes are detailed below:
Prisma Schema Enhancements:
judge
relation to theUser
model and newJUDGE
role in theRole
enum. [1] [2]ProjectTrack
,Track
,JudgingResult
,Table
,Project
, andTimeSlot
to support project tracking and judging.New Components:
CSVUploader
component to handle CSV file uploads and process project data.CustomInput
component for form inputs with validation usingreact-hook-form
.Page Enhancements:
admin/index.tsx
page with a new Admin Dashboard layout, including cards for different administrative tasks.admin/judging.tsx
page to manage judging schedules, including CSV upload functionality and schedule configuration.Minor Fixes:
NavBar
component.This pull request includes several significant changes across various files to add new features, update dependencies, and improve the codebase. The most important changes include the addition of a CSV uploader component, updates to the Prisma schema, and modifications to the
next.config.mjs
file to remove imports.New Features:
src/components/CSVUploader.tsx
: Added a new CSV uploader component to handle the upload and processing of CSV files.src/components/CustomInput.tsx
: Added a new custom input component usingreact-hook-form
for form handling.Prisma Schema Updates:
prisma/schema.prisma
: Added new models and enums for project tracks, tables, time slots, judging results, rubric questions, and rubric responses.prisma/schema.prisma
: Added a new relationjudge
to theUser
model and a new roleJUDGE
to theRole
enum. [1] [2]Configuration Updates:
next.config.mjs
: Modified the configuration to use thenext-remove-imports
package to remove unused imports. [1] [2]Dependency Updates:
package.json
: Added new dependencies including@uiw/react-md-editor
,next-remove-imports
,react-markdown
,@tailwindcss/typography
, and updatedpapaparse
to version 5.4.1. [1] [2] [3] [4]Other Changes:
src/components/NavBar.tsx
: Updated the logo image source path to be absolute.src/pages/admin/index.tsx
: Added new admin dashboard components and functionality for managing roles, judging, time slots, and grading.TODO: