{"id":15436791,"url":"https://github.com/aialok/flashify","last_synced_at":"2025-04-14T16:23:23.552Z","repository":{"id":252925333,"uuid":"840837360","full_name":"aialok/flashify","owner":"aialok","description":"Flashify is a powerful web application designed to create and manage flashcards, enhancing learning and memorization processes. | Take u forward Assignment","archived":false,"fork":false,"pushed_at":"2024-08-25T14:22:27.000Z","size":503,"stargazers_count":37,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T05:06:45.357Z","etag":null,"topics":["assignment","hacktoberfest","hacktoberfest-accepted","mysql","nodejs","railway","react","takeuforward","tuf"],"latest_commit_sha":null,"homepage":"https://flashify.pages.dev/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aialok.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-10T20:52:28.000Z","updated_at":"2025-03-02T10:01:57.000Z","dependencies_parsed_at":"2024-08-13T13:25:47.853Z","dependency_job_id":"fb4c508c-02d7-403f-82ae-5ff2ddeb5928","html_url":"https://github.com/aialok/flashify","commit_stats":null,"previous_names":["aialok/flashify"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aialok%2Fflashify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aialok%2Fflashify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aialok%2Fflashify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aialok%2Fflashify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aialok","download_url":"https://codeload.github.com/aialok/flashify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248914639,"owners_count":21182457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assignment","hacktoberfest","hacktoberfest-accepted","mysql","nodejs","railway","react","takeuforward","tuf"],"created_at":"2024-10-01T18:53:20.667Z","updated_at":"2025-04-14T16:23:23.530Z","avatar_url":"https://github.com/aialok.png","language":"JavaScript","readme":"![image](https://github.com/user-attachments/assets/fbd9549f-a790-4861-bc0e-b20323b10d9d)\n\n# Flashify | Take u Forward Assignment \n\nFlashify is a powerful web application designed to create and manage flashcards, enhancing learning and memorization processes.\n\n[Live Demo](https://flashify.pages.dev/)\n\n## Key Features\n\n- **AI-Powered Flashcard Creation**: Put your text and generate question and answer flashcards\n- **Manual Creation Option**: Create your manual cards\n- **Flashcard Management**:Easily view and edit your flashcards\n- **Intuitive User Interface**: Easy navigation and user-friendly experience\n\n## Tech Stack\n\n### Frontend\n- React with Vite \n\n### Backend\n- Node.js and Express.js\n\n### Database\n- MySQL for structured data storage\n- Redis for caching and performance optimization\n\n### Deployment\n- MySQL hosted on Railway\n- Backend deployed on Render\n- Frontend hosted on Cloudflare Pages\n\n### AI Integration\n- OpenAI API for intelligent flashcard generation\n\n### Additional Tools\n- Zod for data validation\n- Sequelize as the ODM\n\n## Architecture:\n![image](https://github.com/user-attachments/assets/3c534cef-c44b-4c3d-950d-384963831d23)\n\n## File Structure\n```\n|-- backend\n|     -- src\n|       |-- config\n|       |-- controllers\n|       |-- middlewares\n|       |-- migrations\n|       |-- models\n|       |-- routes\n|       |   `-- v1\n|       |-- seeders\n|       `-- services\n|-- frontend\n    |-- dist\n    | -- src\n        |-- components\n        |-- hooks\n        |-- pages\n.github\n  -- workflows\n```\n\n## Setting up project\n\n### Clone the project\n```\ngit clone https://github.com/aialok/flashify.git\n```\n### Install dependencies \n- Move to frontend folder and run the command - `pnpm install`\n- Moce to backend folder and run the command - `pnpm install`\n\n### Setup ENV File\n- Backend\n  ```\n    OPEN_AI_API_KEY=\n    DB_USERNAME=\n    DB_PASSWORD=\n    DB_DATABASE=\n    DB_HOST=\n    DB_PORT=\n    REDIS_USERNAME=\n    REDIS_PASSWORD=\n    REDIS_HOST=\n    REDIS_PORT=\n    NODE_ENV=development | test | production\n  ```\n- Frontend\n```\n    VITE_BACKEND_URI=http://localhost:3000\n```\n### Database Setup\n- Make sure to have add all the env variable\n- Run command to migrate your database setup : `npx sequelize-cli db:migrate` || `pnpm dlx sequelize-cli db:migrate`\n- Make sure you have redis-cli and mysql in local if you are using localhost\n- Wohoo ! you are done : )\n\n### Local Database:\n- Tables\n\n![image](https://github.com/user-attachments/assets/24652a32-e273-47f5-b861-a7fd0918bd1f)\n- Pack Table\n\n![image](https://github.com/user-attachments/assets/8481179c-2de5-4a49-98a9-d95de8389136)\n- Flashcards Table\n\n![image](https://github.com/user-attachments/assets/56e0e629-2d02-43cb-b84a-4133b76b5434)\n\n\n\n### Run your backend and frontend server\n  - cd to backend `pnpm run dev`\n  - cd to frontend `pnpm run dev`\n\n### Wohoo ! congrats you are done with setup  :)\n  \n### Screenshots\nHomepage\n![image](https://github.com/user-attachments/assets/fbd9549f-a790-4861-bc0e-b20323b10d9d)\nCreate Flashcards\n![image](https://github.com/user-attachments/assets/ec26b01c-68cb-4df1-937f-3e216b066b85)\nFlashCard Views\n![image](https://github.com/user-attachments/assets/a76cf77b-067c-41d3-85d8-367ea2150614)\nEdit Flashcards\n![image](https://github.com/user-attachments/assets/afb7ff31-2ad0-4e97-896a-8826ee139720)\nGenerate with AI\n![image](https://github.com/user-attachments/assets/da3bc184-30a6-4dc5-88e9-3faa4e9ecbd8)\n\n\n\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faialok%2Fflashify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faialok%2Fflashify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faialok%2Fflashify/lists"}