Skip to content

qwright10/cen3031

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

SnapCards is a web-based study platform that allows you to create, share, and study quizzes you make from study materials. It automatically scores quiz attempts and provides feedback about correct/incorrect answers and how you're is performing over time. SnapCards can be integrated into a busy college student’s study routine to review lecture material for a quiz, refresh his or her memory of a prerequisite course, or prepare for a cumulative final exam covering months of material.

Getting Started

  • Go to snapcards.org
  • Create an account
  • Make a new quiz or browse quizzes from other users
  • Take a quiz and review personalized feedback

Running locally

  1. Clone or download the repository main branch
  2. Install the most recent LTS release of Node.js
  3. Follow the installation instructions for pnpm
  4. (Option 1) Deploy a PostgreSQL 17 instance
    • Follow the installation instructions
    • Create a database for the project
    • Create a user with read and write access to the database
    • Run the *.sql migrations in server/migrations in order
    • <host> for Step 9 will most likely be localhost
  5. (Preferred option 2) Use this project's existing instance
    • Credentials are available in the documentation report
  6. Open a terminal at the repository directory in Step 1
  7. Move to the site/ directory, then run pnpm install
  8. Generate a JWT secret by running openssl rand 32 | openssl base64
  9. Create a .env file with the following contents, replacing <user>, <pass>, <host>, <database>, and <jwt_secret> with the appropriate values from Steps 4 and 8
DATABASE_URL=postgres://<user>:<pass>@<host>:5432/<database>
JWT_SECRET=<jwt_secret>
  1. (Option 1) Start the Next.js dev server
    • Run pnpm run dev
  2. (Option 2) Or create and start a production build
    • Run pnpm run build && pnpm start
    • Wait for the build process to finish
  3. Navigate to the "Local" url displayed in the terminal window

N.B. The site uses some web APIs only available in secure contexts, so servers without valid TLS certificates must be accessed from localhost (a secure context).


CEN 3031 Group Project (Group 7)

Wonchae Lee, Justin Oh, and Quentin Wright

About

Studying reimagined.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •