CookOff is CodeChef VIT’s flagship competitive coding event that tests the coding skills of developers. This is the backend that powers both the admin and participant portals for CookOff 9.0, serving as the backbone to manage users, questions, test cases, and submissions. Designed for efficiency and scalability, our robust backend simplifies the process of overseeing all competition-related tasks, ensuring smooth operations for both administrators and participants alike. With a focus on user-friendliness, it provides all the necessary tools to facilitate a seamless competitive experience.
-
User Management:
- Sign Up (
/user/signup
) - Login (
/user/login
)
- Sign Up (
-
Question Management:
- Create Question (
/question/create
) - Get all Questions (
/questions
) - Get a Question (
/question/{question_id}
) - Get Question by Round (
/question/round
) - Update Question (
/question
) - Delete Question (
/question/{question_id}
)
- Create Question (
-
Testcase Management:
- Create Testcase (
/testcase
) - Get Testcases by Question (
/questions/{question_id}/testcases
) - Get a Testcase (
/testcase/{testcase_id}
) - Update Testcase (
/testcase/{testcase_id}
) - Delete Testcase (
/testcase/{testcase_id}
)
- Create Testcase (
-
Submission Management:
- Submit Testcase (
/submit
) - Run Testcase (
/runcode
)
- Submit Testcase (
-
Leaderboard:
- Get Leaderboard (
/leaderboard
)
- Get Leaderboard (
- Fork the repo
- Clone it locally
$ git clone https://github.com/<GITHUB_USERNAME>/cookoff-9.0-backend.git
$ cd cookoff-9.0-backend
- Setup atlas
- Configure env (refer .env.example)
- Configure Makefile
- Spin up containers
$ docker compose up --build -d
- Install sqlc
$ go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest
- Generate sqlc schema and queries
$ make generate
- Apply migrations
$ make apply-schema
- Cookoff'24 Admin Portal: https://github.com/CodeChefVIT/cookoff-admin-9.0
- Cookoff'24 Portal: https://github.com/CodeChefVIT/cookoff-portal-9.0
Vedant Matanhelia |
Vaibhav Sijaria |
Aman L |
Jothish Kamal |
Soham Mahapatra |
Abhinav Anand |
Aman Singh |
|
Made with ❤️ by CodeChef-VIT