EmployeeDev

Vue.jsDjango

By Varun Sundar

Last Updated On June 21, 2021

EmployeeDev

EmployeeDev is a CRUD web application built using Vue and Django REST Framework for employees to submit project proposals that could improve current processes at a company. With EmployeeDev, an employee can create an account, submit, update, and delete project proposals, and view other employee proposals. The main goal of EmployeeDev is to get all employees at a company on the same level to share ideas, grow, and help the company grow.

Current System Inefficiencies

This project was inspired by a similar system at my day job as a Mechanical Engineer. The current process works using Excel and Outlook. Employees fill out an Excel form and email the form to their supervisors using Outlook.

EmployeeDev eliminates the following inefficiencies in the current process:

  1. Emailing forms using Outlook can result in late action by supervisors. Supervisors deal with higher priority tasks/emails which could cause them to accidentally overlook these emails. With EmployeeDev every proposal has a designated collection point which can be accessed at a set time once a week or once a month.
  2. The current system requires a team of people to go through employee submissions and enter them in a separate spreadsheet just to have everything in one place and prioritize tasks based on total cost savings. This could also lead to loss of data due to human error. Handling and collecting the data is handled by the backend which reduces the possibility of human error.
  3. Instead of having multiple employees running the current system, an employee is responsible solely for their submissions. This includes updates and deletions which could greatly free up time for a lot of employees to focus on other pressing tasks.

Here is a quick rundown of the features of EmployeeDev.

Improved Collaboration between employees

The current system keeps every employee just focused on their submissions without being actively exposed to other potential projects they could contribute to. Every employee has their own special skill set which could be explored more and utilized in the appropriate setting.

EmployeeDev actively displays every other employee's submission. This could encourage employees to reach out to other employees to collaborate better. An employee can also search for a project by name.

Increased collaboration could improve project outcomes and networking opportunities for employees to grow in the company.

User Authentication

With some basic information an employee can create an EmployeeDev account. After sign up, employees receive an account verification email containing the link to activate their account. Additionally, employees can also reset their password after creating an account.

In order to create an employee account, the Django backend uses a custom user model with the following fields:

  1. Employee Number (assigned to the employee when joining the company)
  2. Email
  3. Password
  4. First Name and Last Name
  5. Department Name

To generate tokens for authentication, I used Django REST Knox along with the Django REST Framework. These along with the Vuex store in the front-end work well to handle application-wide data for a user.

Project CRUD

The heart of EmployeeDev is a CRUD application. With the current system involving Excel and Outlook, there is no data validation. This requires some other designated employees to validate the data entered by an employee after submission.

With EmployeeDev, the application itself can handle the basic data validation. Every employee is required to enter a unique project name. The application checks the name to make sure it is not repeated.

After submission, the current employee's projects are displayed on their dashboard. These projects can be updated and deleted in place by employees themselves without involving any other employee.

Using EmployeeDev can help improve efficiency, collaboration compared to the current system.