https://github.com/helixstudio/helix
A modern platform for competitive programming.
https://github.com/helixstudio/helix
coding competitive-programming contests ctf ctf-challenges gnu huggingface javascript learning next13 nextjs open-source serverless social-media social-network t3 t3-stack tailwindcss typescript website
Last synced: 3 months ago
JSON representation
A modern platform for competitive programming.
- Host: GitHub
- URL: https://github.com/helixstudio/helix
- Owner: HelixStudio
- License: other
- Created: 2023-03-25T10:50:17.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-08T08:58:55.000Z (over 1 year ago)
- Last Synced: 2024-09-26T13:01:16.154Z (8 months ago)
- Topics: coding, competitive-programming, contests, ctf, ctf-challenges, gnu, huggingface, javascript, learning, next13, nextjs, open-source, serverless, social-media, social-network, t3, t3-stack, tailwindcss, typescript, website
- Language: TypeScript
- Homepage: https://helix-coding.vercel.app
- Size: 3.39 MB
- Stars: 10
- Watchers: 2
- Forks: 4
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Helix 👨💻
Helix is an open-source website to help you learn & practice programming.
InfoEducatie 2023: [Documentatie](/docs/DocumentatieNationala.pdf)
# Required dependencies
Besides the specified node packages, you need to have the following software to host the frontend:
- git (any version)
- nodejs >= 16The [code execution engine](https://github.com/nikolatesla13/exec) is also part of this project. It is used to run the submitted code.
# How to run
Firstly, clone the repository:
```bash
git clone https://github.com/NikolaTesla13/helix.git
```Go to the newly created directory:
```bash
cd helix
```You can use any nodejs package manager to manage the dependencies (such as npm, yarn or pnpm). During development, npm was used:
```bash
# install required packages
npm install
```Provide the required environment variables in a `.env` file, refer to the `.env.example` file for example usage:
```bash
NODE_ENV="development"NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET=""DATABASE_URL=""
UPLOADTHING_SECRET=""
UPLOADTHING_APP_ID=""HUGGINGFACE_API_KEY=""
DISCORD_CLIENT_ID=""
DISCORD_CLIENT_SECRET=""GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""TWITTER_CLIENT_ID=""
TWITTER_CLIENT_SECRET=""
```And now you can start the services:
```bash
# starts frontend on localhost:3000
npm run dev# starts the prisma studio on localhost:5555
npx prisma studio# starts the storybook testing server on localhost:6006
npm run storybook
```Most common errors when running the frontend:
- database connection error: check your connection url and if the db is up and running
- dependencies error: check if a `node_modules` was created with the required libraries
- backend not running: note that some features require the backend server to be running
- feel free to open a new issue if you have discovered a bug