Skip to content

gabrielecanepa/glore

Repository files navigation



GloRe is an official certificate that verifies volunteering activities.

Visit our website to find out how to sign up to the e-learning platform and get the certificate recognizing your soft skills.

About

The GloRe eLearning platform is a monorepository including a Next.js application backed by Supabase and different utility packages.

The project uses Tailwind CSS and shadcn/ui components for building a responsive and accessible user interface.

Development

Prerequisites

You must download and activate the Node.js version specified here.

A container tool that offers Docker compatible APIs is a prerequisite for local development.

If using Docker Desktop, it is recommended to adjust Docker's resource allocation in Settings > Resources > Advanced to optimize performance, as the default values can lead to consume significant system resources.

Alternatively, a tool like colima can be used to run containers without a GUI.

Setup

Download the project using the GitHub client or Git:

gh repo clone gabrielecanepa/glore
# or
git clone https://github.com/gabrielecanepa/glore.git

Switch to the project directory and copy the example env files:

cp ./.env.example ./.env
cp ./apps/elearning/.env.example ./apps/elearning/.env

Open the new files and fill in the required values to gain access to the services used throughout the project.

Running the application

Navigate to the project directory, activate pnpm using Corepack and install the project dependencies:

cd glore
corepack enable
corepack install
pnpm install

Run a development server with:

pnpm dev

This command will start the Next.js application and the Docker instance of Supabase.

Open localhost:3000 in your browser to see the result. Any changes you make to the code will be reflected in real time.

Supabase Studio, an interface for managing the local database, will be available at localhost:54321 while the Docker container is running.

Contributing

To develop new features or bug fixes, create a new branch starting from main using a descriptive name that indicates the purpose of your changes:

git checkout -b feat/awesome-feature
# or
git checkout -b fix/bug-in-awesome-feature

Once you are done, push the branch, make sure that all checks are passing and create a new pull request.

Deployment

The project is deployed on Vercel.

To deploy the project, you must set up a Vercel account and link it to the GitHub repository. Once the repository is linked, you can deploy by pushing changes to any branch, and Vercel will automatically build and deploy a preview for you.

Alternatively, you can create a preview deployment by running:

pnpm run deploy

Production and releases

To release a new version of the project, you must specify a GITHUB_TOKEN or GH_TOKEN environment variable at the root of the project. The token needs access to the repository and workflow scopes.

Then, run the following command to create a new interactive release and deploy it to production:

pnpm release

To manually trigger a production deployment without creating a release, use the command:

pnpm deploy:prod

License

Copyright © 2025-present Associazione Joint info@associazionejoint.org