Skip to content

Welcome to my Laravel-Vue COVID vaccine registration project! This web application is designed to help users easily register for COVID-19 vaccinations and track their registration status and vaccination dates. Built with Laravel 10 and Vue 3, this project showcases my skills in developing secure and user-friendly web applications.

Notifications You must be signed in to change notification settings

SubheSadek/covid_vaccine_registration

Repository files navigation

CovidVaccineRegistrationSampleProject

This is a sample project for covid vaccine registration with Laravel 10, Vue.js 3, Vite.

Laravel Sail (Docker) Installation

Prerequisites

Before we get started, make sure that you have the following prerequisites installed on your local machine:

  • PHP (minimum version: 8.2)
  • Composer
  • Docker (minimum version: 20.10)
  • Git

To install this project, follow these steps:

  1. Clone the repository to your local machine:
git clone https://github.com/subhesadek/covid_vaccine_registration.git
  1. Navigate to the project directory:
cd covid_vaccine_registration
  1. Set up the environment variables by creating a copy of the .env.example file and renaming it to .env:
cp .env.example .env

4: Install Laravel Sail:

composer require laravel/sail --dev

This command will download and install Laravel Sail and its dependencies in your project's vendor directory.

Or,

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    laravelsail/php82-composer:latest \
    composer install --ignore-platform-reqs

Note: If you encounter any issues or have any questions, feel free to check out the official Laravel Documentation.

5: Set up Laravel Sail

php artisan sail:install

6: Start Laravel Sail

./vendor/bin/sail up

7: Run the database migrations:

sail artisan migrate

8: Generate the application key:

sail artisan key:generate

9: Install & setup NPM

sail npm install && sail npm run dev

Laravel Queue and SMTP Server Setup

  1. Start the Laravel Queue worker:
sail artisan queue:work

Note: I used database for Queue Connection.

  1. Setup your SMTP email server:

Alt Text

Note: Used queue for sending an Invitation mail before last night at 9pm from scheduled date.

Laravel Task Scheduling (Cron Job) setup

  1. Start the Laravel Task Scheduler:
sail artisan run:schedule

Note: Task Scheduler will update registration status when the scheduled_date exceeded.

SMS notification

If an additional requirement of sending SMS notifications is given in the future, the following changes need to be made in the code:

  1. Have to add a new function to send SMS notifications, or modify the existing function to include SMS notifications.

  2. Make update the code that sends notifications to call the SMS function in addition to the email function.

  3. Will update any relevant variables or constants to include information about the SMS notification, such as the API key for the SMS service.

  4. And finally have to update the README file to reflect the new requirement and describe the changes made to the code.

It is recommended to follow the best practices of modular programming and keep the code organized and well-commented, so that it is easy to understand and modify in the future.

PHP Unit Test Case

This repository contains a set of unit tests for a PHP application

  1. To run the tests, simply execute the following command from the root directory of the repository:
sail artisan test

Manual Installation

To install this project, follow these steps:

  1. Clone the repository to your local machine:
git clone https://github.com/subhesadek/covid_vaccine_registration.git
  1. Navigate to the project directory:
cd covid_vaccine_registration
  1. Install the project dependencies:
composer install && npm install
  1. Set up the environment variables by creating a copy of the .env.example file and renaming it to .env:
cp .env.example .env
  1. Generate the application key:
php artisan key:generate
  1. Run the database migrations:
php artisan migrate
  1. Compile the frontend assets:
npm run dev
  1. Start the Laravel development server:
php artisan serve

You should now be able to access the application at http://localhost:8000.

Usage

To use the Covid vaccine registration site, follow these steps:

  1. Visit the website at http://localhost
  2. Click on the "Haven't register yet ? Please register." link to create an account and provide your National ID (NID) number, name, age, and contact information.
  3. Once registered, you will receive notifications about the vaccine availability and registration status updates via email.
  4. If you want to check your current registration status, visit the website home page and and enter your NID number and the website will display your current registration status.

Note: This website is for informational purposes only and does not provide medical advice. Please consult with your healthcare provider for any medical advice regarding COVID-19.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

About

Welcome to my Laravel-Vue COVID vaccine registration project! This web application is designed to help users easily register for COVID-19 vaccinations and track their registration status and vaccination dates. Built with Laravel 10 and Vue 3, this project showcases my skills in developing secure and user-friendly web applications.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published