GithubHelp home page GithubHelp logo

rfabreu / pay-day Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tahir-arslan/pay-day

0.0 0.0 0.0 9.05 MB

An application built with Node.Js and MySQL to implement a time registry system for teams timesheet generation.

JavaScript 49.91% CSS 8.29% HTML 27.27% Handlebars 14.53%

pay-day's Introduction

TICK TOCK

License: MIT

Description

This application assists users to clock-in/out as a timesheet registy and allows managers to keep track of working schedules.

For better security and data breach prevention the architecture was built with intent for use on a local server environment.

Project Screenshot

User Story:

In a company with multiple roles (ex. Manager, Accountant, Employee, etc) different data is generated and available for changes based on each role. With that in consideration, the following scope were kept in mind during development:

AS an employee user, I WANT to have my work hours be tracked so that I can get paid accurately:
    -   So WHEN the application loads, a login screen is displayed
    -	WHEN I login a clock is displayed upon authentication, to record time of shift start/end
    -   THEN WHEN I click/punch CLOCK IN the clock counter starts
    -	WHEN I click/punch CLOCK OUT the counter stops and registers the current date, the start time and the end time
    -   THEN WHEN I click on DASHBOARD it displays a page with all my records up to date
AS a manager user, I WANT to oversee all employee routines to ensure accurate time records and work efficiency:
    -	SO WHEN I login, the manager account is authenticated and displays a DASHBOARD with employees ID, NAME and HOURLY WAGES
    -   THEN I am able to click ADD AN EMPLOYEE to create a new employee in my DATABASE
    -   OR I can click one of the existing employees to get access to their entire timesheet report
    -   WHEN I click an employee record, THEN I can also edit this employee’s base information and timesheet

Project Screenshot


Tech Stack:

  • Node.js
  • Express.js
  • Handlebars.js
  • Day.js
  • Bootstrap
  • MySQL
  • Sequalize ORM
  • Heroku

Installation:

To install this application clone the repository, then cd into the root PAY-DAY folder and run:

npm i

Or use default answers by running the following command:

npm i -y

How to use:

After the installation is complete do either one of the following options:

  • Use case A:
    • Deploy the application to Heroku and test it live
  • Use case B:
    • Ensure your MySQL server is running by executing mysql -u root -p from the command line
    • Use mysql command SHOW DATABASES; to ensure the database pay_day_db is created
    • Run source db/schema.sql from the CLI if you need to create the pay_day_db database
    • Execute node seeds/seed.js to populate the database with pre-defined testing data
    • Run npm start to load the application
    • From the web browser navigate to http://localhost:3001/
  • Use case C:

Regardless of the USE CASE picked, when prompted to login there are two pre-defined testing options to be used:

  • Login as Manager:
    • Username: Manager_Example
    • Password: 111111

  • Login as Employee:
    • Username: Employee_Example
    • Password: 222222

Future Developments:

- Add ability to have an Accountant user
- Create feature to calculate and generate payroll reports by a set time range

Credits

License

Licensed under the MIT license.

pay-day's People

Contributors

tahir-arslan avatar rfabreu avatar dexzax avatar newchap2022 avatar

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.