Giter Club home page Giter Club logo

just-leave-work's Introduction

justleave.work Leave Management Systsem

JustLeave.work

This is a web application that allows SMMEs to record and request leave. Technologies used: 🧶 Laravel 7 (PHP) 🦭 Maria DB (Database) ⚛️ React (Frontend)

Installation

  1. Clone this repo
git clone https://github.com/AndreKendeck/just-leave-work.git justleavework
  1. Install the composer dependencies
composer install -vvv 
  1. Create an .env file
cp .env.example .env
  1. Install the JS dependencies
npm install
  1. Compile the JS and CSS
npm run-dev
  1. Run the application locally
php artisan serve

if you use valet you can just link it and run it locally

valet link && valet open

Testing

Run the artisan test 🧪 command to run the tests

php artisan test

Credits

just-leave-work's People

Stargazers

 avatar

Watchers

 avatar

just-leave-work's Issues

Exports

Allow the Teams to export data from the application
This includes:

  • Users
  • Transactions
  • Leaves

This should be able to be exported to CSV & Excel.

Export Users

Requirements

Allow Admins to export the current users in the application

  • Exports the users (Name, Email, Job Position, Admin , Balance , Last leave Taken)

Password Change

Requirement

  • Allow users to change their password on the profile page
  • Password should be at-least 8 char long.

Fix SQLite migration testing error 🦟

  1. Tests\Feature\TablesAreInDatabaseTest::all_relevant_tables_are_migrated_to_the_database
    BadMethodCallException: SQLite doesn't support dropping foreign keys (you would need to re-create the table).

Setup Airbrake for your PHP application

Installation

Install Airbrake using Composer by running the following command from your project's directory:

composer require airbrake/phpbrake

Configuration

Copy the following configuration snippet into your PHP app. It shows how to initialize Airbrake and register the instance as an error handler:

$notifier = new Airbrake\Notifier(array(
    'projectId' => 353815,
    'projectKey' => 'dbaacacbddfba7ed983e11eb326d652f'
));

Airbrake\Instance::set($notifier);

$handler = new Airbrake\ErrorHandler($notifier);
$handler->register();

To send a test error, you can call Airbrake directly like in this try/catch example:

try {
    throw new Exception('hello from phpbrake');
} catch(Exception $e) {
    Airbrake\Instance::notify($e);
}

Framework integrations

Full documentation

Check out our official GitHub repo for info on additional features like:

Admin Dashboard.

An Admin Dashboard would be neat if the user can

  • See all teams & their users
  • Ban & Unban Teams
  • Download SQL Backups

Login Journey.

  • Design Login Page for Desktop
  • Design Login Page for Mobile
  • Error Handling on Failed Login
  • Redirect to Dashboard when Logged In Successfully
  • Prevent Logged in users to the Log in Page
  • Create a Loading Icon for login in ~ 1.5 seconds or 3 secs
  • Store AUTH Token in Redux

Setup Airbrake for your PHP application

Installation

Install Airbrake using Composer by running the following command from your project's directory:

composer require airbrake/phpbrake

Example Usage

Copy the following configuration snippet into your PHP app. It shows how to initialize Airbrake and register the instance as an error handler:

(Your project ID and project API key have been included):

$notifier = new Airbrake\Notifier(array(
    'projectId' => 266577,
    'projectKey' => '0bf0c1e06f35e8e26cca6a2f86e677b3'
));

Airbrake\Instance::set($notifier);

$handler = new Airbrake\ErrorHandler($notifier);
$handler->register();

To send a test error, you can call Airbrake directly like in this try/catch example:

try {
    throw new Exception('hello from phpbrake');
} catch(Exception $e) {
    Airbrake\Instance::notify($e);
}

Framework integrations

Going further

Check out our official GitHub repo for info on additional features like:

Profile Page

User Profile Page

The Following should be done on the Profile Page.

  • Users should be able to log out of their account
  • Edit their Account Details (Name)
  • Export Their Leave

Register Journey

  • Have a maximum of 4 Fields min the Register Page
  • Redirect to the Dashboard page and authenticate
  • Send Email Confirmation Email
  • Error handling

Demo Feature

Allow visitors of the website to make use of a demo feature

  • Create Fake users
  • Create Fake Company/Team
  • Limit functionality.

Fix Image 404 Errors.

This can be fixed by adding storage prefix in the App\User & App\Team models respectively

Leave Export

Requirements

Currently the exporter does not include the users email address only the name,
this is a security issue since people can change their name.

Export Transactions

Allow users of the application to export transactions.

Requirements

  • Admins Only

Expectations

  • Export to .csv or .xlsx
  • Export Based on Dates
  • Export on Individual Users

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.