Code Monkey home page Code Monkey logo

employee-scheduling-system's Introduction

Employee Scheduling System (ESS)

About

The original purpose of this project was to provide an easy solution for college assistants to sign in/out and remove paper usage at the New York City College of Technology’s Ursula Library. The ESS was heavily integrated with the internal web app used at the library. With multiple projects running in one CodeIgniter installation, I needed to do extensive cleanup and editing to allow this project to be open source. This will explain why some files may have just one function, or strange naming conventions, or why some functions may have error handling, while others do not, etc. Some of the ESS capabilities include creating employee shifts, real-time sign-in status, simple employee substitution process, adding anouncements, among others. For full capabilities, please see the attached documentation. I hope you are able to extend this project and make great usage of it.

Prerequisite

  1. Install a server, such as WAMP, or XAMP and run it. This project was built using PHP 5.6.
  2. Download a copy of CodeIgniter 3 into your servers' web folder and rename it Libservices.
  3. Make sure you can access your installation of Codeigniter in your browser by going to 'yourDomain'/Libservices.

Installation And Deployment

  1. Drop the ESS assets folder where your Libservices application folder is located.
  2. Place all ESS files and folders in their respective Libservices folders.
    • Drop the files inside the ESS config folder into your Libservices/application/config folder, replace the files in destination, or edit your originals accordingly.
    • Drop the files inside the ESS controllers folder into your Libservices/application/controllers folder.
    • Drop the files inside the ESS language\english folder into your Libservices/language/english folder.
    • Drop the files inside the ESS library folder into your Libservices/application/libraries folder.
    • Drop the files inside the ESS models folder into your Libservices/application/models folder.
    • Drop the folders inside the ESS views folder into your Libservices/application/views folder.
  3. In the ESS sql folder, locate the sql file. The DEFINER for procedures is ‘root’@’localhost’ and you need to change it if you are not using a local server. You can change it by opening the file in your code editor and doing a search/replace accordingly.
  4. Load the ESS sql file into your database, through the command line, MySQL Workbench or other, making sure to include both structure and data.
  5. Place the ESS docs folder wherever you can easily access them for reference.
  6. Head to 'yourDomain'/Libservices/index.php/auth/login to login with barcode 12345 or email: [email protected] and password: password.
  7. Read the docs or use the Help menu located under the username at the top right to use the application.
  8. Using the documentation, schedule an employee for work, then try to sign in and out at 'yourDomain'/Libservices/index.php/Timesheet/ipadPage

Setup Email in The Application

Some functions in the ESS, such as creating a new user, will require a Gmail email to be setup.

  1. In Application/config folder, change smtp_user and smtp_pass in the emai.php file for emailing to work. The Gmail account used must be allowed smtp requests, although I noticed that creating a new account didn’t create such issue; you may want to do that for testing purposes.
  2. Also in the config folder, change the ion_auth file’s admin_email to whichever email you want, which will be used for the reply-to function in Gmail if you need it.
  3. To modify the email content, search for $emailData['title'] in the project and you will find a few instances of that together with the other required pieces
    • To show the logo picture, or change it, modify the url in $emailData['titleImgSrc'] to a publicly accessible picture.
    • To change the title, modify $emailData['title'].
    • To change the body, modify the $emailData['emailBody'].
    • To change the footer, modify $emailData[‘helpContact’].

The email template will look similar to this:

Sample ESS Email

Other notes

  • The application will not work without at least one semester in the database. I added a temporary one for you, which you can edit once you login.
  • Although I added a user for you of admin level privilege, you can go to 'yourDomain'/Libservices/index.php/auth/index to add more users. This link is found in the application as well as in the add employee section with further information. You will not be able to access this page without a high privilege user logged in.
  • Ion Auth files were modified, especially the views. signature_pad was also modified. Take note of this if you wish to update these plugins later on.
  • Instead of using the ipadPage to sign in a shift, you can use 'yourDomain'/libservices/index.php/timesheet/ipadPageCA/12345, where 12345 is the employees' barcode. This simplifies the process a bit since there will not be a need to enter the employee's barcode in the ipadPage eacn time.
  • The docs folder includes an outline I wrote at one point when we were updating the ESS. It was meant to be an inventory type list of the functionality of the system, which included descriptions for some of the items. It should help you further understand the ESS. The folder also includes a how-to for adding more help menus if you decide to add functionality.

Built With

Authors

Acknowledgments

Plugins

People or Insitution

  • Ursula C. Schwerin Library at the City College of Technology of New York for providing the servers and helping shape the application through usage and recommendations.

License

  • This project is licensed under the MIT License - see the LICENSE.md file for details

employee-scheduling-system's People

Contributors

anderur avatar ctander avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

employee-scheduling-system's Issues

I cant start the website

Multiple tables with uppercase that on sql file ar in lowercase. For example scheduledshifts in code is ScheduledShifts

In other hands manageEmployee show like that

image

What i am doing wrong? (URL /LibServices/index.php/timesheet/manageEmployee)

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.