Skip to content

theiotproject/key-manager

Repository files navigation

KeyManagerLogo
Key Manager

Website application that makes managing & administrating your virtual QR Code keys easier.

Check it out

Created in Laravel + Vue.js

⭐ Star us on GitHub — it motivates us a lot!

AboutRequirementsInstallationTestingContributingLicense

About

Landing Page

dashboardScreenshot

Features

E-mail

  • Registration with e-mail verification
  • Sending e-mail invitations to the team
  • Option to reset password via e-mail

Registration Page

dashboardScreenshot

Managing

  • Creating and Configuring Teams
  • Assigning Gates to Team
  • Adding Virtual Keys to open Gates

Dashboard

dashboardScreenshot

Profile

  • Update Profile Informations
  • Add Avatar
  • Update Password
  • Enable Two Factor Authentication

Setup

Docker

Docker Desktop

  • If you would like to run the project via Docker Desktop, follow these steps:
  1. Copy .env.example to .env
  2. Create Docker Containers
    • docker-compose up -d
  3. Open Container
    • docker-compose exec php bash
  4. Install composer dependencies
    • composer install
  5. Run DB migrations (needed only once or on migration addition)
    • php artisan migrate
  6. Link storage (needed only once)
    • php artisan storage:link
  7. Install NPM dependencies (needed only once or on package changes)
    • npm install
  8. Run the NPM dev build with --host option
    • npm run dev -- --host

Known errors:

Linux
  • Fix for possible errors after logging into account:
    • chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache

Docker Sail

  • If you would like to run the project via Docker Sail, follow these steps:
  1. Copy .env.example to .env
  2. Install composer dependencies (in order to pull the Laravel Sail bash files, needed only once)
    • docker run -it -v "$PWD:/app" composer composer install --ignore-platform-reqs
  3. Run the project
    • ./vendor/bin/sail up -d
  4. Run DB migrations (needed only once or on migration addition)
    • ./vendor/bin/sail artisan migrate
  5. Link storage (needed only once)
    • ./vendor/bin/sail artisan storage:link
  6. Install NPM dependencies (needed only once or on package changes)
    • ./vendor/bin/sail npm install
  7. Run the NPM dev build
    • ./vendor/bin/sail npm run dev

Setup (without Docker)

Requirements

Package Version
Node V14.19.1+
Npm V6.14.16+
Composer V2.2.6+
Php V8.0.2+
Mysql V 8.0.27+

Installation

Warning Make sure to follow the requirements first. Here is how you can run the project locally:

  1. Clone this repo

    git clone https://github.com/theiotproject/key-manager.git
  2. Go into the project root directory

    cd key-manager
  3. Create database key_manager (you can change database name)

  4. Install PHP dependencies

    composer install
  5. install front-end dependencies

    npm install && npm run dev
  6. Copy .env.example file to .env file

    cp .env.example .env
  7. Configure .env with your data

  8. Configure mailhog <- Check here how

  9. Run migration

    php artisan migrate
    
  10. Run server

    php artisan serve
  11. Visit localhost:8000 in your favorite browser.

    Make sure to follow your Laravel local Development Environment.

Documentation

You can check out API documentation here

Testing

php artisan test

Contributing

  1. Fork it ( https://github.com/theiotproject/key-manager/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

License

key-manager is under MIT Licence