{"id":25688690,"url":"https://github.com/dattaaaaa/vaxcare","last_synced_at":"2026-04-20T09:35:06.234Z","repository":{"id":277361875,"uuid":"932183432","full_name":"dattaaaaa/vaxcare","owner":"dattaaaaa","description":"A Complete Web based Vaccination Database Management System with AI features built with Python(Flask) and MySQL   ","archived":false,"fork":false,"pushed_at":"2025-02-26T13:25:18.000Z","size":3736,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-01T03:07:08.591Z","etag":null,"topics":["ai","database-management","databasemanagementsystem","dbms","flask","flask-sqlalchemy","mysql","mysql-database","python","vaccination"],"latest_commit_sha":null,"homepage":"https://vaxincare.onrender.com/","language":"Python","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/dattaaaaa.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-13T14:04:30.000Z","updated_at":"2025-02-26T13:25:21.000Z","dependencies_parsed_at":"2025-09-01T02:43:34.681Z","dependency_job_id":"f2fed9be-15da-4f1e-a683-aabcf856c554","html_url":"https://github.com/dattaaaaa/vaxcare","commit_stats":null,"previous_names":["dattaaaaa/vaxcare"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dattaaaaa/vaxcare","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dattaaaaa%2Fvaxcare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dattaaaaa%2Fvaxcare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dattaaaaa%2Fvaxcare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dattaaaaa%2Fvaxcare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dattaaaaa","download_url":"https://codeload.github.com/dattaaaaa/vaxcare/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dattaaaaa%2Fvaxcare/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32041694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ai","database-management","databasemanagementsystem","dbms","flask","flask-sqlalchemy","mysql","mysql-database","python","vaccination"],"created_at":"2025-02-24T21:05:21.842Z","updated_at":"2026-04-20T09:35:06.210Z","avatar_url":"https://github.com/dattaaaaa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VaxCare - Vaccination Management System\n\nA comprehensive web-based vaccination management system built with Flask, allowing users to schedule vaccinations, manage profiles, and generate digital certificates. The system includes user, admin, and vaccine administrator roles with different privileges.\n\n[View the latest deployment of this flask web application here](https://vaxincare.onrender.com/)\n(Note: The site may take around 50 seconds to load.)\n\n## Features\n\n### User Features\n- User registration and authentication\n- Profile management for multiple family members\n- Vaccination appointment booking and management\n- Real-time AI chat support and insights\n- Digital certificate generation and download\n- Appointment rescheduling and cancellation\n- View vaccination history and upcoming appointments\n\n### Admin Features\n- Vaccine inventory management\n- Vaccination center management\n- Schedule management\n- Appointment oversight\n- User management\n- System monitoring and analytics\n\n### Technical Features\n- Secure password hashing\n- Role-based access control\n- SSL certificate management\n- Database connection pooling\n- PDF certificate generation\n- QR code generation for certificates\n- Real-time AI chat support\n- Responsive web interface\n\n## Technologies Used\n\n- **Backend**: Python Flask\n- **Database**: MySQL (with SSL support)\n- **ORM**: SQLAlchemy\n- **Authentication**: Flask-Login\n- **PDF Generation**: ReportLab\n- **QR Code**: qrcode\n- **AI Integration**: Groq API\n- **Frontend**: HTML, CSS, JavaScript\n- **Security**: Werkzeug security\n- **Environment Management**: python-dotenv\n\n## Relational Database Creation with MySQL\n\n- Relational Schema:\n![Relational Schema](Relational_Schema.png)\n\n\n1. **Install MySQL**  \n   Ensure MySQL is installed on your system. You can download it from [MySQL's official website](https://dev.mysql.com/downloads/installer/) or use a package manager like `apt` (Linux) or `brew` (Mac).  \n\n2. **Create a Database and User**  \n   Log into MySQL and create a database for the application. Also, create a dedicated user with the necessary privileges.  \n\n3. **Enable SSL (If you are using an online instance of MySQL from providers like Aiven.io)**  \n    (Ignore this step if you are using a local MySQL database)\n   If using an online database or requiring encrypted connections, configure SSL and obtain the CA certificate.\n   - Encode the ca.pem (and client-cert.pem and client-key.pem if you have them) to Base64 string for compatibility with the given code.\n   ```bash\n    [Convert]::ToBase64String((Get-Content -Path \"ca.pem\" -Raw -Encoding Byte)) | Set-Content -Path \"ca_base64.txt\"\n    [Convert]::ToBase64String((Get-Content -Path \"client-cert.pem\" -Raw -Encoding Byte)) | Set-Content -Path \"cert_base64.txt\"\n    [Convert]::ToBase64String((Get-Content -Path \"client-key.pem\" -Raw -Encoding Byte)) | Set-Content -Path \"key_base64.txt\"\n   ```\n   - Add CA_PEM=your_base64_encoded_ca to your environent variables.\n\n4. **Update `.env` Configuration**  \n   Add your MySQL connection details to the `.env` file, including the `DATABASE_URL` and SSL certificate (that can be done by).  \n\n5. **Initialize the Database**  \n   Run migrations to set up the required tables and relationships.  \n\n6. **Verify Connection**  \n   Ensure the Flask application connects successfully to the MySQL database before running the server. \n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/dattaaaa/vaxcare.git\ncd vaxcare\n```\n\n2. Create and activate a virtual environment:\n```bash\npython -m venv myenv\nsource myenv/bin/activate  # On Windows: myenv\\Scripts\\activate\n```\n\n3. Install dependencies:\n```bash\npip install -r requirements.txt\n```\n\n4. Create a `.env` file in the project root with the following variables:\n```\nDATABASE_URL=mysql://username:password@host:port/database_name\nSECRET_KEY=your_secret_key\nGROQ_API_KEY=your_groq_api_key\nCA_PEM=your_ssl_certificate_in_base64\n```\n\n5. Initialize the database:\n```bash\nflask db upgrade\n```\n\n## Running the Application\n\n### Development Server\n```bash\npython app.py\n```\n\n### Production Server\n```bash\ngunicorn -c gunicorn_config.py app:app\n```\n\n## Project Structure\n\n```\nvaxcare/\n|   .env\n|   .gitignore\n|   app.py\n|   Create_tables.sql\n|   Entity-Relationship(ER)-diagram.png\n|   guincorn_config.py\n|   LICENSE\n|   Populate_all.sql\n|   project_structure.txt\n|   README.md\n|   Relational_Schema.png\n|   requirements.txt\n|   \n+---Documents\n|       Report.pdf\n|       \n+---static\n|       android-chrome-192x192.png\n|       android-chrome-512x512.png\n|       apple-touch-icon.png\n|       favicon-16x16.png\n|       favicon-32x32.png\n|       favicon.ico\n|       \n\\---templates\n    |   admin_dashboard.html\n    |   base.html\n    |   book_appointment.html\n    |   certificates.html\n    |   chat.html\n    |   create_profile.html\n    |   edit_centre.html\n    |   edit_profile.html\n    |   edit_schedule.html\n    |   edit_vaccine.html\n    |   home.html\n    |   index.html\n    |   login.html\n    |   register.html\n    |   reschedule_appointment.html\n    |   temp.html\n    |   user_dashboard.html\n    |   vaccine_admin_dashboard.html\n    |   \n    +---admin\n    |       appointments_overview.html\n    |       edit_inventory.html\n    |       manage_centres.html\n    |       manage_inventory.html\n    |       manage_schedules.html\n    |       manage_vaccines.html\n    |       \n    \\---errors\n            404.html\n            500.html\n```\n\n## Configuration\n\n### Database Configuration\nThe application uses MySQL with SSL encryption. Make sure your database server supports SSL connections and provide the CA certificate in the `.env` file.\nIf you want an online MySQL database, login to [Aiven Console](https://console.aiven.io/) to get your credentials and CA certificate.\nYou can as well remove the CA certificate part from the app if you are using a local MySQL database instance.\n\n### Gunicorn Configuration\nThe application includes a `gunicorn_config.py` with the following settings:\n- 4 worker processes\n- Binding to 0.0.0.0:10000\n- 120-second timeout\n\n## Security Features\n\n- Password hashing using Werkzeug\n- SSL/TLS database connections\n- Role-based access control\n- Session management\n- CSRF protection\n- Secure cookie handling\n\n## API Endpoints\n\nThe application provides several API endpoints for:\n- Schedule management\n- Vaccine availability checking\n- Appointment management\n- Certificate generation\n- Chat functionality\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Contact\n\nVishnu Datta - kvishnudatta.ai22@rvce.edu.in\nProject Link: https://github.com/dattaaaaa/vaxcare\n\n## Acknowledgments\n\n- Flask framework and its extensions\n- ReportLab for PDF generation\n- Groq AI for chat support\n- All other open-source libraries used in this project\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdattaaaaa%2Fvaxcare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdattaaaaa%2Fvaxcare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdattaaaaa%2Fvaxcare/lists"}