Giter Club home page Giter Club logo

quenti's Introduction

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!

quenti's People

Contributors

boehs avatar dependabot[bot] avatar miapolis avatar opensourcesimon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

quenti's Issues

Yarn installation

Hey ๐Ÿ‘‹, I was just testing out this amazing project by installing it but I need some help. I've ran the command yarn but it can't install @quenti/console..

โžค YN0000: โ”Œ Resolution step
โžค YN0035: โ”‚ @quenti/console@npm:*: The remote server failed to provide the requested resource
โžค YN0035: โ”‚   Response Code: 404 (Not Found)
โžค YN0035: โ”‚   Request Method: GET
โžค YN0035: โ”‚   Request URL: https://registry.yarnpkg.com/@quenti%2fconsole
โžค YN0000: โ”” Completed in 1s 325ms
โžค YN0000: Failed with errors in 1s 333ms

Performance issues.

I would definitely be using quenti if it wasn't for the lag that occurs when any sort of blur is used on the page.

A solution to this would be creating a "Performance Mode" toggle in the settings that disables any usages of filter: blur(...) or intensive CSS operations - it absolutely kills the low-VRAM education PCs ๐Ÿ˜…

Feature Request: Add Ability to change answer type in learn mode

I want to be able to change my answer type to only write answers or only multiple choice answers in the learning mode, like it can be done in quizlet or in the test mode. It is frustrating to be forced to use one answer type. Overall good app. Keep up the good work.

tRPC failed

tRPC failed on recent.get: UNAUTHORIZED@quenti/next:dev: โŒ tse the ref parameter?
RPC failed on recent.get: UNAUTHORIZED

do you know how to fix it

dahsboard

the application doesnt let me se the sadhboard but redirect to login page everytime

queston on env

how do i add new env keys without giving me error from server.mjs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.