{"repo":"0010aor/FlashNotes","free":true,"listed":false,"github":"https://github.com/0010aor/FlashNotes","clone":"git clone https://github.com/0010aor/FlashNotes.git","description":null,"language":"TypeScript","stars":107,"topics":["ai","chakra-ui","docker","fastapi","gemini-api","openai","python","react","sqlmodel","swagger"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"FlashNotes A simple flashcard app focused on quick card creation and distraction-free practice. Technology Stack and Features - Backend: - FastAPI for the Python backend API. - SQLModel for ORM-based SQL database interactions. - Pydantic for data validation and settings management. - PostgreSQL as the SQL database. - Frontend: - React with TypeScript, hooks, and Vite for a modern frontend stack. - Chakra UI for UI components. - Generated client for consuming the backend API. - Dexie.js and IndexedDB for offline/guest mode support and local data storage. - Authentication: - JWT (JSON Web Token) authentication. - Guest Mode & Offline Support: - Users can try the app instantly as a guest, with all data stored locally in the browser (IndexedDB). - Guest Mode users can create, edit, and practice flashcards, but data will not sync across devices. - Testing: - Pytest for backend testing. Explore the API documentation at http://127.0.0.1:8000/docs. Running GitHub Actions Locally To test your GitHub Actions workflows locally before pushing to GitHub, you can use nektos/act . This tool allows you to simulate GitHub Actions workflows using Docker. Here is a simple guide for how to do this here. Setup Instructions Backend Setup 1. Create a PostgreSQL database: 2. Set up environment variables in backend/.env : 3. Navigate to the backend directory: 4. Make the prestart script executable: 5. Choose one of the following setup options: Option 1: Quick Setup with uv Option 2: Traditional Virtu","default_branch":null,"files":null,"tree":[],"storefront":"/r/0010aor","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/0010aor/FlashNotes/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}