× This Challenge was posted 1 week ago

Challenge view

Back to Project

VersusVirus-App

Web application for managing the VersusVirus online hackathons.

Demo

Versus Virus Web Application

This application is custom built for managing the Versus Virus hackathon. It is a Next.js project bootstrapped with create-next-app.

Dependencies

The project uses Yarn for managing all dependencies. To install all necessary Node modules execute yarn from the root folder.

Production Environment

The app was manged with GitLab for the Versus Virus hackathons, but can be run with any service that supports Node.js and PostgreSQL.

Development Environment

The app runs on the latest LTS version of Node.js. It relies on PostgreSQL 11 and a mailserver like Nodemailer App. Note that the mail server needs to be available for sending a magic link for logging into the app.

The package.json file contains all the commands for starting the application.

Local Environment Variables

Rename the .env.example file to .env and load it before running the dev command. For example:

npx env-cmd yarn dev

Local Database

When you make changes in prisma/schema.prisma, you can create a migration by running yarn prisma:migrate:save. Apply it to your local db with yarn prisma:migrate:up.

A database import is not necessary for development, as Prisma will create the necessary structure.

Testing

Tests are run using Jest. Simply execture npx jest from the command line to run.

Project Structure

For information on how the teams are created and how challenges are assigened, see the Readme file in the teamCreation folder.

Database

A GraphQl tool is available on the endpoing /api/graphql. You will need to be logged into the application as an administrator in order to execute mutations. Typical queries can be found in the file example-queries.graphql.

Conventions

Version Control

The working branch for production is "master". The titles of commits to master should be prefixed with a semantic description of the nature of the change. For example fix: or feat:. This will provide more meaning during the release process.

Code

Code formatting is done with Prettier. The build process may fail if the format is not followed well enough.

Creators

(in alphabetical order)

This content is a preview from an external site.
 
Contributed 1 year ago by loleg for Awesome hackathon
All attendees, sponsors, partners, volunteers and staff at our hackathon are required to agree with the Hack Code of Conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to ensure a safe environment for everybody.

Creative Commons LicenceThe contents of this website, unless otherwise stated, are licensed under a Creative Commons Attribution 4.0 International License.