Skip to content

commitcompanion/quenti

This branch is up to date with quenti-io/quenti:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6a359d6 · Feb 4, 2024
Jun 21, 2023
Feb 4, 2024
Jan 16, 2024
Jan 15, 2024
Oct 14, 2023
Jan 10, 2023
Nov 4, 2023
Aug 1, 2023
Aug 15, 2023
Dec 29, 2023
Nov 3, 2023
Oct 18, 2023
Aug 1, 2023
Nov 2, 2023
Sep 15, 2023
Jan 1, 2024
Jan 7, 2024
Feb 4, 2024
Jul 2, 2023
Oct 18, 2023
Mar 5, 2023
Jan 21, 2024
Aug 15, 2023
Aug 1, 2023
Dec 22, 2023

Repository files navigation

og:image

The open-source Quizlet alternative.

The Stack

Running Locally

Get up and running by following these steps.

Prerequisites

  • Node.js 18.x
  • MySQL
  • Bun
  • Docker and docker-compose (recommended)

Setup

  1. Clone the repo

    git clone https://github.com/quenti-io/quenti
  2. Go to the project folder

    cd quenti
  3. Install dependencies with bun

    bun i
  4. Set up the .env file

    • Copy .env.example to .env

    • Use openssl rand -base64 32 to generate a key for NEXTAUTH_SECRET and set it as the value in .env

    • Use openssl rand -base64 24 to generate a key for QUENTI_ENCRYPTION_KEY and set it as the value in .env

    • You'll need to create a Google OAuth client ID from the Google API Console. There are plenty of guides for this, like this one from LogRocket embedded:

      Google OAuth Client Screenshot

      Navigate to Credentials and click on Create credentials, and then OAuth client ID. You will be asked to fill in the following:

      Choose an Application Type: Select Web Application

      Name: This is the name of your application

      Authorized JavaScript origins: This is the full URL to the homepage of our app. Since we are still in development mode, we are going to fill in the full URL our development server is running on. In this case, it is http://localhost:3000

      Authorized redirect URIs: Users will be redirected to this path after they have authenticated with Google: http://localhost:3000/api/auth/callback/google

      Copy your client ID and secret created and fill in the GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET values in .env

      ID and Secret Screenshot

  5. Start up a local MySQL database with

    docker-compose -f docker-compose.mysql.yml up
  6. Push schema changes and generate the Prisma client

    bun prisma db:push

Running

Start a development server with

bun dev

or create and start a production build with

bun run build
bun start

Navigate to http://localhost:3000 and Quenti should be up and running!

About

The open source Quizlet alternative.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 99.0%
  • Other 1.0%