Web application for assignment of tasks developed in Symfony 4.
- Composer to manage Symfony dependencies.
- Bootstrap 3 as front-end component library.
- Font Awesome 4 as icons package.
- Bootbox.js to send alerts and confirmations with JS.
- Elasticsearch as search engine of the application, to work needs JAVA.
- Symfony translation for translations, the application is translated into Spanish and English
- Webpack Encore to manage CSS and JavaScript. To work needs Node.js and the package manager YARN
- Third-party bundles for some tasks such as paging (KnpPaginatorBundle) or integrate more easily other technologies such as elasticsearch (FOSElasticaBundle)
- The application makes use of the most common tools used in Symfony projects such as forms, validators, console commands, security system ... etc
The application has 2 types of users, users with administrator role and users with user role:
- Administrators can manage system users and tasks. They are also responsible for assigning tasks to common users
- Common users can see the tasks assigned to them and mark them as completed
To install the application and everything works correctly you need to have installed the following
- Clone the project from the repository:
$ git clone https://github.com/sergio-santiago/task-assignment.git
- In the project directory run the
composer install
command to install the composer dependencies - Run the
yarn install
command to install YARN dependencies - Make sure you have MySQL up, in the next steps you will establish connection with it
- Configure the
.env
file with the values to create the database. You should modify this lineDATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name
- Execute the
php bin/console doctrine:database:create
command to create the database with the values configured in the previous step - Execute the
php bin/console doctrine:migrations:migrate
command to create tables in the database - Execute the command
yarn run encore dev
to compile the assets of the project - Execute the
php bin/console app:create:admin
command to start the wizard that will help you create a user with which to access the application - Run the project with the command
php bin/console server:run
- Access with your browser to the address http://127.0.0.1:8000
- You can now access the system with the user that you have previously created