HACCOON is a project developed by the members of the Haken who are attending the discipline of Integrator Project and Software Engineering at Universidade technological Federal do Paraná, campus of Campo Mourão (UTFPR-CM).
To see more about the Visual Identity and Design Concepts used in this project, click here.
This system aims to manage the team, file management, customer management, project management, goals management, a calendar system, an integrated chat system and a gamification subsystem.
Team management will be done with respect to the hierarchy rule: When a person enters the company, it is considered a trainee, after a training in the company it becomes a member and if possible can become a director.
Directors can add (create new accounts) for trainees and new customers to have access to the system, update the positions of members for directors, and delete users from the system. They can also add warnings to members or add points to the gamification subsystem, viewing project files, contracts, planning pokers and other files. In addition to creating new projects and attaching members or trainees that will make it.
The great difference between members and trainees is that projects attached to members also have an attachment to a customer, while a trainee can only carry out internal projects of the company. For both members and trainees it is only possible that they view their own projects (past and present) and the project status, but in another projects it is just possible to view basic informations about it.
Currently all company files are stored in the company's Google Drive account. It is entirely necessary to use an API to access the files, be able to add new ones, remove them, edit them (even externally) and view them as well, or perhaps, create a system that add files in a file server and link to our database with a organization arround the file (like directories).
It is necessary for the company to have a contact list and the profile of each customer who contacts the company. For this to happen, the directors will be able to add new customers to the system, allowing them to access the platform, however, it is known that not every client will use the platform as a form of communication, so it should appear in your profile a link with your Whatsapp. Remembering that it should be possible for the client to send messages to the Project Director and also view the status of your project.
Directors can create a project, assign a status (canceled, in progress, finished, etc...) and embed the project with GitHub (it will be interesting to see the progress of issues or other information from GitHub itself using an API), you can also Add the developer and client members of the project, as well as information such as important links, planning poker files, and other projects (when a project is renewed in the enterprise).
Directors can add goals for the year, the idea behind this management is for the system use all informations collected like, projects done, how much each project cost it. And create a metric about a specific goal.
In this area of the system, the directors can create new events in calendar, add photos in a determinate event, link with the members whose went in it.
The chat works in a simple way, any employee can send messages to any employee of the company (not counting the person's hierarchy), you can also create group with people. The only rule imposed is that essentially only the directors can contact customers and vice versa. For the chat, will be used as a form of communication: text, emojis, gifs and images (stickers), any other way will be an additional to the system (for example: audio and file submission).
The gamification subsystem is still a new subject in the company, for a first step it is necessary to construct a table with all the tasks that generate points and their score. The directors are responsible for managing the table and distributing points to the members and trainees. In the profile of the members/trainees should appear a history of scores, showing the task, the earned points and the day in won.
It would be interesting for the directors to be shown the points with graphs or forms of representation of data that help in the visualization and choice of the best members, although this is considered an additional functionality of the system.
As the project is being produced by Haken members for Haken members, will be used programming languages, tools and frameworks already used by the company, the following is a table of the software and its use in the project:
Software | Used For |
---|---|
ReactJS | JavaScript library for building user interfaces. |
AntDesign | UI design language and React-based implementation with a set of high-quality React components. |
NodeJS | Focused on migrating client-side Javascript to servers. |
Express | NodeJS web application framework that provides a set of features for web applications |
MongoDB | MongoDB is a document-oriented database program, classified as a NoSQL database program. |
Heroku | Cloud platform as a service supporting javascript language. |
mLab | mLab is a fully managed cloud database service that hosts MongoDB databases. |
Cloudinary | Provides a cloud-based image and video management solution (files too). |