Skip to content

An over-engineered flashcard platform designed to help users better remember specific concepts and problems.

License

Notifications You must be signed in to change notification settings

hilmoo/MindFlick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MindFlick

An over-engineered flashcard platform designed to help users better remember specific concepts and problems.

Demo

Demo Video

Features:

  • Bookmark Flashcards
  • Create Public Flashcards
  • Categorize Flashcards
  • Free to Use
  • Markdown Support

How to Set Up and Build

Prerequisites

  • .NET 8.0
  • PostgreSQL database
  • Google OAuth client ID and secret

Docker Compose

This compose file does not include database migration

services:
  mindflick-db:
    container_name: mindflick-db
    image: postgres:16-alpine
    restart: unless-stopped
    healthcheck:
      test:
        ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB_NAME} -U ${POSTGRES_USER}"]
      start_period: 20s
      interval: 30s
      retries: 5
      timeout: 5s
    environment:
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DB=${POSTGRES_DB_NAME}
    volumes:
      - ./database:/var/lib/postgresql/data
  mindflick:
    container_name: mindflick
    image: ghcr.io/hilmoo/mindflick:master
    restart: unless-stopped
    ports:
      - 8080:8080
    env_file:
      - .env
    depends_on:
      mindflick-db:
        condition: service_healthy

Running Locally

  1. Create or update your .env file with the necessary environment variables. You can check the .env.example file for a template.
  2. Apply the database migrations:
    export DATABASE_URL="Host=<YOUR_POSTGRES_HOST>;Database=<YOUR_POSTGRES_DB_NAME>;Username=<YOUR_POSTGRES_USER>;Password=<YOUR_POSTGRES_PASSWORD>"
    dotnet ef migrations add InitialCreate
    dotnet ef database update
  3. Build the application:
    dotnet build
  4. Run the application:
    dotnet run

Running in Development Mode

  1. Install npm if you haven't already.
  2. Install the required npm packages:
    npm install
  3. Update the .env file with the necessary values, using the .env.example file as a guide.
  4. Apply the database migrations:
    export DATABASE_URL="Host=<YOUR_POSTGRES_HOST>;Database=<YOUR_POSTGRES_DB_NAME>;Username=<YOUR_POSTGRES_USER>;Password=<YOUR_POSTGRES_PASSWORD>"
    dotnet ef migrations add InitialCreate
    dotnet ef database update
  5. Start the Tailwind CSS build process:
    npm run tw
  6. Start the development server:
    npm run dev

About

An over-engineered flashcard platform designed to help users better remember specific concepts and problems.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •  

Languages