Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/theihasan/vacine-registration-system


https://github.com/theihasan/vacine-registration-system

Last synced: 13 days ago
JSON representation

Awesome Lists containing this project

README

        

Vaccine Registration System


The Vaccine Registration System is a Laravel project designed to manage two types of users: admin users and public users. Admin users have access to the users table, while public users are managed through the public_users table.

Requirements


  • PHP >= 7.2

  • Laravel 9+

Setup Instructions


  1. Clone the repository.

  2. Run composer install to install dependencies.

  3. Copy the .env.example file to .env and configure your database.

  4. Run php artisan key:generate to generate an application key.

  5. Run php artisan migrate to run database migrations.

  6. Run php artisan db:seed to seed the database.

Database Seeding


  1. Running the php artisan db:seed command creates 100 public users and one admin user.

  2. Admin user credentials:

    • Route: yourdomain/admin/login

    • Email: [email protected]

    • Password: 12345

    • Admin users can view all public users from the dashboard.



Features


Public User Registration



  1. Public users can register through the /register route.

  2. Registration requires the following fields:

    • Name

    • Email

    • Password

    • National ID (NID)

    • Phone

    • Center Name (selected from a dropdown)




User Status Management


  1. Public users are assigned a default status of "not vaccinated" upon registration.

  2. Using Laravel queue and task scheduling, the ScheduleUnvaccinatedUsersJob class changes the status of users to "scheduled" and sends an email to notify them.

  3. The ResetVaccineCenterLimitJob class runs daily to reset the limit of vaccination centers.

  4. The ProcessVaccinatedUsersJob class changes the status to "vaccinated" if the scheduled date is less than or equal to the current date.

Screenshots

Dashboard

This is a admin login page overview

Dashboard

This is a User List page overview for admin user

Dashboard

This is a User List filter overview for admin user

Registration

This is a public users registration page overview