minicards is a free, minimal, and open source flashcard web application
Inspired by the best parts of other flashcard programs like Anki and Quizlet, minicards is designed and built to bring simplicity back into flashcard software, while still being an incredibly effective method of study and memorization.
- completely free with no ads
- unlimited flashcard decks
- unlimited flashcards
- flashcard deck organization (folders, tags, etc.)
- public and private decks
- user statistics
At its core, minicards is built with the T3 stack including these tools:
- Web Framework: Next.js
- Styling: Tailwind CSS, daisyUI, and headlessUI
- Backend API: tRPC and Upstash
- Database: Planetscale
- Authentication: Clerk
- Testing: Vitest
- Deployment: Vercel
To get started contributing to minicards, it is assumed you have Node.js installed along with necessary keys from Planetscale, Clerk, and Upstash (see the .env.example
file).
-
Fork and clone this repository using
git clone
. -
Install npm packages:
npm install
- Create a
.env
file based off of.env.example
, and provide the necessary keys.
DATABASE_URL='mysql://YOUR_MYSQL_URL_HERE?ssl={"rejectUnauthorized":true}'
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=YOUR_KEY_HERE
CLERK_SECRET_KEY=YOUR_KEY_HERE
UPSTASH_REDIS_REST_URL=YOUR_KEY_HERE
UPSTASH_REDIS_REST_TOKEN=YOUR_KEY_HERE
- Start a local development server.
npm run dev
- Make changes on a new branch.
git checkout -b my_changes
- Commit and push your changes.
git commit -m "My new changes"
git push origin my_changes
- Open a new pull request to merge your branch into the
develop
branch, not themain
branch.
Licensed under the GNU General Public License v3.0, Copyright © 2023