https://github.com/himasnhu-at/codeinghive-server-main
Main server of Codeing Hive in NestJS
https://github.com/himasnhu-at/codeinghive-server-main
codeinghive coding-challenges codingcompetitions hacktoberfest learntrinity onlinecodeeditor
Last synced: about 1 year ago
JSON representation
Main server of Codeing Hive in NestJS
- Host: GitHub
- URL: https://github.com/himasnhu-at/codeinghive-server-main
- Owner: Himasnhu-AT
- Archived: true
- Created: 2023-10-15T12:56:29.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-01T16:07:40.000Z (about 2 years ago)
- Last Synced: 2025-02-12T18:59:46.744Z (about 1 year ago)
- Topics: codeinghive, coding-challenges, codingcompetitions, hacktoberfest, learntrinity, onlinecodeeditor
- Language: TypeScript
- Homepage: https://codeinghive.vercel.app
- Size: 465 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Codeing Hive Server
Welcome to the Codeing Hive Server repository! This server powers a dynamic platform for coding challenges, contests, and user submissions. Below, you'll find a comprehensive guide to set up the server, contribute to the project, and an overview of the current to-do list.
Feel free to explore, contribute, and make this platform even better! If you have any questions or suggestions, don't hesitate to reach out.
## Table of Contents
- [Setup](#)
- [Start the Server](#)
- [Restart Database](#)
- [Contributing](#)
- [TODO List](#)
- [Milestone 1](#)
- [Milestone 2](#)
## Setup
1. **Clone the Repo:**
```bash
git clone https://github.com/CodeingHive/CodeingHive-Server-main.git
cd CodeingHive-Server-main
```
2. **Setup Repository:**
- Using bash script:
```bash
bash run.sh -i
```
- Using terminal commands:
```bash
npm i
cp .env.example .env
docker compose up dev-db -d
npx prisma migrate dev --name init
npx prisma migrate deploy
```
3. **Start the Server:**
- Using bash script:
```bash
bash run.sh -d
# To start db visual preview
bash run.sh -db
```
- Using terminal commands:
```bash
# Visit http://localhost:3000 to visualize APIs and schema
npm run start:dev
# To start db visual preview
npx prisma studio
```
4. **Restart Database:**
- Using bash script:
```bash
bash run.sh -r
```
- Using terminal commands:
```bash
docker compose rm dev-db -s -f -v
docker compose up dev-db -d
npx prisma migrate dev --name init
npx prisma migrate deploy
```
## Contributing
All contributions are appreciated. Whether you're fixing a bug, adding a new feature, or improving documentation, your efforts make a difference. Please refer to the [Contribution Guidelines](CONTRIBUTING.md) for more details.
## TODO List
### MILESTONE-1:
- [x] **Auth**
- [x] `POST /auth/signup` - Signup
- [x] `POST /auth/signin` - Signin
- [ ] **User**
- [ ] `GET /user/:id` - Get user with ID: id
- [ ] `GET /user` - Get all users
- [ ] `PUT /user/:id` - Update user with ID: id
- [ ] `GET /user?q=` - Sort query users
- [ ] **Problem**
- [ ] `GET /problem/:id` - Get problem with ID: id
- [ ] `GET /problem` - Get all problems
- [ ] `GET /problem?q=` - Sort query problems
- [ ] **Submission**
- [ ] `GET /submission/:id` - Get submission with ID: id
- [ ] `GET /submission` - Get all submissions
- [ ] `POST /submission` - Submit a solution
- [ ] `GET /submission?q=` - Sort query submissions
### MILESTONE-2:
- [ ] **Contest**
- [ ] `GET /contest/:id` - Get contest with ID: id
- [ ] `GET /contest` - Get all contests
- [ ] `POST /contest` - Create a contest
- [ ] `PUT /contest/:id` - Update contest with ID: id
- [ ] `GET /contest?q=` - Sort query contests
- [ ] **Contest Problem**
- [ ] `GET /contest/:id/problem/:id` - Get contest problem with ID: id
- [ ] `GET /contest/:id/problem` - Get all contest problems
- [ ] `POST /contest/:id/problem` - Create a contest problem
- [ ] `PUT /contest/:id/problem/:id` - Update contest problem with ID: id
- [ ] `GET /contest/:id/problem?q=` - Sort query contest problems
- [ ] Update `schema.prisma`
Happy coding!