Flashify is a powerful web application designed to create and manage flashcards, enhancing learning and memorization processes.
- AI-Powered Flashcard Creation: Put your text and generate question and answer flashcards
- Manual Creation Option: Create your manual cards
- Flashcard Management:Easily view and edit your flashcards
- Intuitive User Interface: Easy navigation and user-friendly experience
- React with Vite
- Node.js and Express.js
- MySQL for structured data storage
- Redis for caching and performance optimization
- MySQL hosted on Railway
- Backend deployed on Render
- Frontend hosted on Cloudflare Pages
- OpenAI API for intelligent flashcard generation
- Zod for data validation
- Sequelize as the ODM
|-- backend
| -- src
| |-- config
| |-- controllers
| |-- middlewares
| |-- migrations
| |-- models
| |-- routes
| | `-- v1
| |-- seeders
| `-- services
|-- frontend
|-- dist
| -- src
|-- components
|-- hooks
|-- pages
.github
-- workflows
git clone https://github.com/aialok/flashify.git
- Move to frontend folder and run the command -
pnpm install
- Moce to backend folder and run the command -
pnpm install
- Backend
OPEN_AI_API_KEY= DB_USERNAME= DB_PASSWORD= DB_DATABASE= DB_HOST= DB_PORT= REDIS_USERNAME= REDIS_PASSWORD= REDIS_HOST= REDIS_PORT= NODE_ENV=development | test | production
- Frontend
VITE_BACKEND_URI=http://localhost:3000
- Make sure to have add all the env variable
- Run command to migrate your database setup :
npx sequelize-cli db:migrate
||pnpm dlx sequelize-cli db:migrate
- Make sure you have redis-cli and mysql in local if you are using localhost
- Wohoo ! you are done : )
- Tables
- Pack Table
- Flashcards Table
- cd to backend
pnpm run dev
- cd to frontend
pnpm run dev
Homepage Create Flashcards FlashCard Views Edit Flashcards Generate with AI