Skip to content

pheralb/project-hackathon

Repository files navigation

Getting Started ย โ–ย  Team ย โ–ย  Overview ย โ–ย  Features ย โ–ย  Stack ย โ–ย  Deploy โ†—๏ธŽ

GitHub actions GitHub stars GitHub issues GitHub forks GitHub license

โœŒ Team

๐Ÿ› ๏ธ Stack

โœจ Features

General:

  • Authentication with Github.

For the participant:

  • The user can add his project.
  • The user can edit his project before a deadline (soon).
  • When the deadline is reached, the user can only see the project (soon).

For the admin:

  • The admin can add a new hackathon.
  • The admin can edit a hackathon.
  • The admin can delete a hackathon.
  • The admin can share the link to the hackathon.
  • The admin can see the list of projects.
  • The user can set a winner (mark a user as a winner).
  • The user can set a project as 'reviewed'.

๐Ÿช Overview

  • We have extracted the icons used in the app due to a bug in the React library - issue.

๐Ÿš€ Getting Started

Project settings:

  1. Clone or fork the repository:
git@github.com:pheralb/project-hackathon.git
  1. Install dependencies with your favorite package manager:
# with npm:
npm install

# with pnpm:
pnpm install

# with yarn:
yarn install

# with ultra:
ultra install

Environment variables:

  1. Create a .env file in the root of the project with the following variables:
# CockroachDB connection string:
DATABASE_URL = ""

# Next-Auth config:
NEXTAUTH_SECRET="" # Generate a random string.
NEXTAUTH_URL="" # Your project url, e.g. http://localhost:3000.

# Github OAuth Provider:
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""

CockroachDB settings:

  1. Create a free cluster.
  2. Create a SQL user.
  3. To connect to the user, copy the connection string and paste it in the .env file, replacing the DATABASE_URL variable.

Github OAuth Provider settings:

  1. Click here to create new Github OAuth app.
  2. Go to "Client secrets" and generate new client secret and and paste it into GITHUB_CLIENT_SECRET env.
  3. Copy the Client ID and paste it into GITHUB_ID env.

Run the project:

  1. Run in your terminal:
# with npm:
npm run dev

# with pnpm:
pnpm run dev

# with yarn:
yarn dev

# with ultra:
ultra dev

and open http://localhost:3000 ๐Ÿš€.

๐Ÿ˜Š Contributing

โ˜ Deploy

๐Ÿ”‘ License