A platform for managing tech events with QR code-based challenge verification.
- Docker and Docker Compose
- Node.js 20+ (for local development)
- Clone the repository:
git clone Schroedinger-Hat/event-gamification.git
cd event-gamification
- Start the development environment:
docker compose up
This will start the Next.js application and the Sanity Studio CMS. NOTE: The first time you start the environment, it will take a while to download the images and start the containers. You need to have a .env file in the root of the project. Check bitwarden or create one as follow:
NODE_ENV=development
NEXT_PUBLIC_SANITY_PROJECT_ID=your_sanity_project_id
NEXT_PUBLIC_SANITY_DATASET=your_sanity_dataset
SANITY_API_VERSION=your_sanity_api_version
- Access the application at
http://localhost:8080
- Build the production image:
ENVIRONMENT=production docker compose up --build
- Start the production environment:
ENVIRONMENT=production docker compose up
- Access the local studio at
http://localhost:8080/studio
: you need to be logged in to the Sanity Studio to manage the content.
This will start the Next.js application and the Sanity Studio CMS in production mode.
The project is organized into the following directories:
app
: Next.js application codeapp/components
: Reusable React componentsapp/lib
: Utility functionsapp/api
: API routesapp/public
: Static assetsapp/styles
: Global CSS stylesapp/types
: TypeScript type definitionsapp/utils
: Utility functionsapp/sanity
: Sanity Studio configuration and schemas
-
Fork or clone this repository to your GitHub account
-
Create a new project on Vercel
-
Import your repository
-
Configure the following environment variables in Vercel's project settings:
NEXT_PUBLIC_SANITY_PROJECT_ID
: Your Sanity project IDNEXT_PUBLIC_SANITY_DATASET
: Your Sanity dataset name (usually "production")SANITY_API_VERSION
: Your Sanity API version (e.g., "2024-03-21")SANITY_API_TOKEN
: Your Sanity API token with write access
-
Deploy! Vercel will automatically build and deploy your app
The app will be automatically deployed on every push to the main branch.
- Next.js app:
https://your-project.vercel.app
- Sanity Studio: Deploy separately or access via your Sanity project dashboard
## License
This project is licensed under the AGPLv3 License. See the LICENSE file for details.
For any questions or feedback, please contact us at [email protected]