creation of Automated Dashboards for economic professions

The project called "DASHBOARD" is an application for creating dashboards and automated slides for the economic professions and all that is management of accounting balance sheets.

One of the most particular points of this project is in its architecture. It relies on a hexagonal architecture in order to isolate the central logic of the application from outside concerns. As well as the adoption of several Design Patterns, with a development under the respect of SOLID principles.

This project presents the results of the work carried out within the final project for the graduation of an engineer, in computer science engineering at the Faculty of Science and Technology (FSTG) of Marrakech, Cadi Ayyad University. This project was carried out within Tamtam International.

An actor, represents the role of an external entity (human user or not) interacting with the system. Below you will find each actor and his role in our application:

  • The customer : this actor has the right to view the Dashboards and his own data.
  • Editor : This is the one who has the right to create the Dashboards and slides.
  • Administrator : He is the one who has the right to create the Dashboards and slides, he has the right to access the full functionality of the application.

Dashboard management :
- List of dahboards
- Ability to edit or delete a Dashboard
- Add a filter to the dashboard list
- Add the option to search by Dashboard name
Slides management :
- List of slides
- Ability to edit, duplicate or delete a slide
- Add a filter to the list of slides
- Added the option to search by the name of the Slide
Create Dashboard :
- Composition of a Dashboard from the slides already created
Create Slide :
- Composition of a slide from a list of components
Import Balance sheet :
- Importing balances that represent the financial statement of a company in a period of time

this project developed with :

  • PHP Version 7
  • Symfony Framework
  • Doctrine ORM
  • PHPUnit for unit tests
  • REST API
  • Javascript
  • ECMAScript ES6
  • ReactJs
  • Redux
  • Babel
  • Sass
  • Webpack
  • Axios
  • Docker
  • Wercker
  • Git