{"id":26610898,"url":"https://github.com/qwertyfusion/database-management-using-flask","last_synced_at":"2025-03-24T02:23:59.720Z","repository":{"id":284044162,"uuid":"951734079","full_name":"QwertyFusion/Database-Management-Using-Flask","owner":"QwertyFusion","description":"This project implements a User Authentication System using MySQL Database connectivity and Flask.","archived":false,"fork":false,"pushed_at":"2025-03-23T20:41:28.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T21:26:30.349Z","etag":null,"topics":["bootstrap","css","flask","html","mysql","mysql-workbench"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QwertyFusion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-03-20T06:47:25.000Z","updated_at":"2025-03-23T20:42:27.000Z","dependencies_parsed_at":"2025-03-23T21:26:49.672Z","dependency_job_id":"39648bca-cf4b-4cef-b219-8cc7efca82bd","html_url":"https://github.com/QwertyFusion/Database-Management-Using-Flask","commit_stats":null,"previous_names":["qwertyfusion/database-management-using-flask"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QwertyFusion%2FDatabase-Management-Using-Flask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QwertyFusion%2FDatabase-Management-Using-Flask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QwertyFusion%2FDatabase-Management-Using-Flask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QwertyFusion%2FDatabase-Management-Using-Flask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QwertyFusion","download_url":"https://codeload.github.com/QwertyFusion/Database-Management-Using-Flask/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245196681,"owners_count":20576074,"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":["bootstrap","css","flask","html","mysql","mysql-workbench"],"created_at":"2025-03-24T02:23:57.240Z","updated_at":"2025-03-24T02:23:59.698Z","avatar_url":"https://github.com/QwertyFusion.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flask Auth using MySQL Database\n\n\u003cp\u003e\u003cstrong\u003eThis project implements a User Authentication System using MySQL Database connectivity and Flask.\u003c/strong\u003e\u003c/p\u003e\n\n---\n\n## 🚀 Features\n- Implemented user authentication/registration form using Flask and the database.  \n   - **New Users**: Register using the signup button.  \n   - **Existing Users**: Login with their credentials.  \n- Inside, users can update their personal details and reset their passwords.\n- Users can view their grades but cannot edit them personally.\n- Built a **responsive frontend** for user interactions using Bootstrap.\n- Implemented backend flask connectivity with MySQL database.\n\n---\n\n## 🖼️ Preview\n![Home Page](./preview/home.png)\n\n---\n\n## 📜 License  \n\nFlask Auth is open-source and released under the **MIT License**.  \nSee the [LICENSE](./LICENSE) file for more details.\n\n---\n\n## 🛠️ Get Started\n\n### 1️⃣ Clone the Repository\n```sh\ngit clone \"https://github.com/QwertyFusion/Database-Management-Using-Flask\"\ncd Database-Management-Using-Flask\n```\n\n### 2️⃣ Backend Setup (Flask)\n\n#### Create and Activate Virtual Environment (venv)\n```sh\npython -m venv venv  # Create virtual environment\nsource venv/bin/activate  # MacOS/Linux\nvenv\\Scripts\\activate  # Windows\n```\n\n#### Install Dependencies\n```sh\npip install -r requirements.txt\n```\n\n### 3️⃣ Database Setup (MySQL and MySQL Workbench)\n\n#### Install MySQL Server and MySQL Workbench from official websites\n```yaml\nMySQL Server Download Link: https://dev.mysql.com/downloads/installer/\nMySQL Workbench Download Link: https://dev.mysql.com/downloads/workbench/\n```\n\n#### In MySQL Workbench, create `user_management` database and use it\n```sql\nCREATE DATABASE user_management;\nUSE user_management;\n```\n\n#### In MySQL Workbench, create `user` table and `grades` table and use it \n```sql\nCREATE TABLE users (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    username VARCHAR(50) NOT NULL,\n    email VARCHAR(100) NOT NULL UNIQUE,\n    password VARCHAR(255) NOT NULL,\n    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP\n);\n\nCREATE TABLE grades (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    user_id INT NOT NULL,\n    subject VARCHAR(100) NOT NULL,\n    grade DECIMAL(5, 2) NOT NULL,\n    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE\n);\n```\n\n#### In MySQL Workbench, insert into `grades` table after creating account using frontend. Do this before logging in.\n```sql\nINSERT INTO grades (user_id, subject, grade) VALUES (1, '\u003cSUBJECT_NAME\u003e', \u003cGRADE\u003e);\n```\n\n### 4️⃣ Environment Variables\n\n#### Create `.env` similar to `.env.example` for Flask Backend connectivity with your MySQL Database server:\n```env\nSECRET_KEY=mysecretkey # Keep this same, no need to change or delete\nMYSQL_HOST=YOUR_MYSQL_SERVER_HOST\nMYSQL_USER=root\nMYSQL_PASSWORD=YOUR_MYSQL_SERVER_PASSWORD\nMYSQL_DB=user_management # Your Database name\n```\n\n### 5️⃣ Run the Project\n\n#### Start the Flask Backend\n```bash\npython app.py  # Ensure the virtual environment is activated\n```\n\nNow, open your browser and go to **http://127.0.0.1:5000** to start using Flask Auth! 🚀\n\n---\n\n## 🛠 Tools Used  \n\n\u003col\u003e\n  \u003cli\u003eVisual Studio Code\u003c/li\u003e\n  \u003cli\u003eHTML\u003c/li\u003e\n  \u003cli\u003eCSS\u003c/li\u003e\n  \u003cli\u003eBootstrap\u003c/li\u003e\n  \u003cli\u003eFlask\u003c/li\u003e\n  \u003cli\u003eMySQL\u003c/li\u003e\n  \u003cli\u003eMySQL Workbench\u003c/li\u003e\n  \u003cli\u003eGit \u0026 GitHub (Version Control)\u003c/li\u003e\n\u003c/ol\u003e\n\n---\n\n## 🔗 Link to Tools  \n\n\u003cp align=\"left\"\u003e\n\u003ca href=\"https://code.visualstudio.com\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://www.vectorlogo.zone/logos/visualstudio_code/visualstudio_code-icon.svg\" alt=\"Visual Studio Code\" width=\"40\" height=\"40\"/\u003e\n\u003c/a\u003e\u0026emsp;\n\u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/HTML\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://cdn.iconscout.com/icon/free/png-256/free-html-5-logo-icon-download-in-svg-png-gif-file-formats--programming-langugae-language-pack-logos-icons-1175208.png?f=webp\u0026w=256\" alt=\"HTML\" width=\"40\" height=\"40\"/\u003e\n\u003c/a\u003e\u0026emsp;\n\u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/CSS\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/6/62/CSS3_logo.svg/2048px-CSS3_logo.svg.png\" alt=\"CSS\" width=\"40\" height=\"40\"/\u003e\n\u003c/a\u003e\u0026emsp;\n\u003ca href=\"https://getbootstrap.com\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Bootstrap_logo.svg/1280px-Bootstrap_logo.svg.png\" alt=\"Bootstrap\" width=\"40\"/\u003e\n\u003c/a\u003e\u0026emsp;\n\u003ca href=\"https://flask.palletsprojects.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://play-lh.googleusercontent.com/ekpyJiZppMBBxCR5hva9Zz1pr3MYlFP-vWTYR3eIU7HOMAmg3jCJengHJ1GFgFMyyYc\" alt=\"Flask\" width=\"40\" height=\"40\"/\u003e\n\u003c/a\u003e\u0026emsp;\n\u003ca href=\"https://dev.mysql.com/downloads/installer/\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Antu_mysql-workbench.svg/800px-Antu_mysql-workbench.svg.png\" alt=\"MySQL\" width=\"40\" height=\"40\"/\u003e\n\u003c/a\u003e\u0026emsp;\n\u003ca href=\"https://dev.mysql.com/downloads/workbench/\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://img.utdstc.com/icon/f6f/11c/f6f11c75fda63dd454fa5db9610a77cfd6752be4db11010f2e4252551a4abccd:200\" alt=\"MySQL Workbench\" width=\"40\" height=\"40\"/\u003e\n\u003c/a\u003e\u0026emsp;\n\u003ca href=\"https://git-scm.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg\" alt=\"Git\" width=\"40\" height=\"40\"/\u003e\n\u003c/a\u003e\u0026emsp;\n\u003ca href=\"https://github.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg src=\"https://uxwing.com/wp-content/themes/uxwing/download/brands-and-social-media/github-white-icon.png\" alt=\"GitHub\" width=\"40\" height=\"40\"/\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## 👨‍💻 Developer  \n\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https://github.com/QwertyFusion\"\u003e[@QwertyFusion]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqwertyfusion%2Fdatabase-management-using-flask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqwertyfusion%2Fdatabase-management-using-flask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqwertyfusion%2Fdatabase-management-using-flask/lists"}