GithubHelp home page GithubHelp logo

shawinder / employee-tracker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dmytro-shvetsov/employee-tracker

0.0 1.0 0.0 98.59 MB

Software for tracking productivity of remote employees.

C++ 28.02% QMake 0.72% Python 28.83% HTML 0.33% JavaScript 40.29% CSS 1.81%

employee-tracker's Introduction

Employee Tracker - software for tracking productivity of remote employees

The project is comprised of desktop(client) and web applications. The first one is used to collect data from employees when they are working, whereas the other one is for monitoring the gathered data. Built with Qt, Django(Channels, REST framework) and React.

Project Status

This project is in production.

Stable versions of the client applications can be found here.

Check out the web application here.

Features:

Client application

  • Authorization (only employee users can log in)
  • Websocket connection for real time data transfers
  • Internet traffic analysis(HTTP/SSL/TLS packets)
  • Screen shots collection
  • Idle prompts when a user shows no activity

Web application

  • Authorization (log in, sign up, password reset)
  • User profile/account pages
  • Your projects page (for staff members only). Ability to create new projects, add new members and view existing ones.
  • Real time updates when an employee's connection status(online, offline, etc) changes.
  • Employee activity logs page (visualization of data collected by client app)

Project Video Demo

demo video

Reflection

This was an over a month long pet project built during the 2020's summer. Project's main goals were consolidating skills in Python, JavaScript, HTML/CSS languages, as well as object oriented and asynchronous/parallel programming, design patterns and going through main stages of software development lifecycle.

Originally I wanted to build a free solution that allowed business clients to be able to watch what their employees do during the job. I started this process by developing client application, then planning database architecture and moving to web application to visualize the collected data.

One of the main challenges I ran into was Networking features. This lead me to spend a few days on a research spike into TCP/IP network model, what data is used on each layer of it, application protocols and means to implement this knowledge in practice. In addition, building client application essentially improved my software designing skills, since I was doing my best keeping all the components loosely coupled.

At the end of the day, the technologies implemented in this project are Qt, Django(with Channels and REST framework), npm, Webpack, React, React-Router 5.0, Axios, Websockets, HTML, CSS(Reactstrap).

employee-tracker's People

Contributors

dmytro-shvetsov avatar

Watchers

James Cloos 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.