Skip to content

The COVID Vaccine Registration System is a digital platform enabling individuals to sign up for COVID-19 vaccination, streamlining appointment scheduling and dose allocation. It ensures efficient distribution by tracking vaccination progress and eligibility criteria, integrating with healthcare providers and government databases

Notifications You must be signed in to change notification settings

Irfan-Chowdhury/COVID-vaccine-registration-system

Repository files navigation

COVID Vaccine Registration System

How to run this project

Configuration

  • PHP-8.1
  • Laravel-10

ENV Setup

  • You have to setup database related credentials properly in .env
  • You have to setup mail related credentials properly.
  • You have to setup QUEUE_CONNECTION=database to run Queue for sending mail

Migrate

Just run this command
php artisan migrate

Seeder

php artisan db:seed

Update Your Composer

composer update

Generate APP_KEY

php artisan key:generate

Run Project

php artisan serve

Runnig Queue before send email

goto .env file & update QUEUE_CONNECTION=database and then run the following command

php artisan queue:work

Alternatively, you may run the queue:listen command.

php artisan queue:listen

Run Test

php artisan test

To Test CORN JOB

php artisan reminder:send

Packages what I extra used

What I have done

  • User can registration for Covid Vaccine.
  • User can check registration status
  • You (Reviewer) can see all vaccine center list
  • You (Reviewer) can see all authenticate users list
  • Try to use Repository Pattern
  • Used datatable to show all list
  • Testing
  • Corn Job setup for sending email to the registered user at 09:00 PM before 1 day ago of their vaccine schedule date.
  • Mail sent asynchronously

About the project & my limitation

I followed the Surokkha which is Bangladeshi website to register for COVID Vaccine and I try to develope this system like this.

There are few steps to register.

  • Step-1 : User Identification: User have to input their NID number and Birth Date. If it's successful, then it'll goto next step otherwise it'll give you error message.

  • Step-2 : User Information: After verified their NID and birth date, it'll redirect the user into this page. Here user can not change their name and gender but he can input the mobile, email, can select center and finally have to check the checkbox.

  • Step-3 : Final Step - Confirmation: after done all procedure a 6 digit OTP number will be send the user email id. He have to input that OTP number. After matching the OTP, it redirects success page and also the user get a successfull email notification.

Due to time limit I can't add all field. But I try to add at least minimum functionality which are mandatory. I created a normal design because I mainly focus on backend part not in design part.

About performance for the User Registration and Search

Though I try to make a better performance to build this system but If I had more time, I would also recommend the following additional optimizations: -

  • I would make this system to SPA (Single Page Optimization). And I'll definitely use REACT.js.
  • Caching: Use caching mechanisms like Redis or Memcached to store frequently accessed data such as user records or search results. This can significantly reduce the time taken to fetch data from the database.
  • Eager Loading: When querying the database for user records or search results, use eager loading to load related data in a single query, instead of making multiple queries. This can help reduce the number of queries made to the database, improving performance.
  • Queues: Use Laravel's queue system to offload time-consuming tasks like sending emails or processing data in the background, freeing up server resources for faster user registration and search.
  • Optimize Images: Optimize images to reduce their file size and load times. This can help improve the overall performance of the application, especially if I have a lot of images on the site.

About ‘SMS’ notification

To add SMS notifications for vaccine schedule date in Laravel, need to make several changes to our code. Here are the some steps -

  • I have to install a SMS notifications: Laravel provides several packages for sending SMS notifications.

  • Need to create a new notification class that extends the Laravel notification class. This class should implement the via method, which returns the channels through which the notification should be sent. In this case, the via method should return ['sms'].

  • Need to define the SMS channel in our config/services.php file. This channel should specify the credentials and configuration needed to send SMS notifications.

  • Once I created the new notification class for SMS, I need to modify our existing notification class for email to include the SMS notification. In the via method of the email notification class, I should include the sms channel along with the mail channel

  • I can customize the message that is sent in the SMS notification by modifying the to Sms method of your notification class for SMS.

  • Finally, I need to update my code to send both email and SMS notifications when a vaccine schedule date is set. I can do this by chaining the notify method on my user model with instances of both the email and SMS notification classes.

Note: In home page when you will run this project, you will see 4 type of option to click and goto the features.

About

The COVID Vaccine Registration System is a digital platform enabling individuals to sign up for COVID-19 vaccination, streamlining appointment scheduling and dose allocation. It ensures efficient distribution by tracking vaccination progress and eligibility criteria, integrating with healthcare providers and government databases

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages