Skip to content
A timetracker application made with Symfony and ReactJS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
assets
bin
config
public
src
templates
tests
translations
.env.dist
.gitignore
README.md
composer.json
composer.lock
package.json
phpunit.xml.dist
symfony.lock
webpack.config.js
yarn.lock

README.md

Introduction

Using this application you can track your tasks and the amount of time spent on each one of them. There are two pages: Tracker and Logs. In Tracker page, you can start the time tracker and submit a new task with a description and date/time. Using the Logs page, you can see all the logs (tasks) you've submitted.

Requirements

  • [Optional] Apache v2.4+ or Nginx v1.12.2+
  • PHP v7.1.3+
  • MySQL v5.7+ or MariaDB v10.1+
  • Composer v1.6.4+

Configuration

Open the .env file (or copy the env.dist file and rename to .env) and update the following line:

DATABASE_URL=mysql://db_user:db_password@127.0.0.1:3306/db_name

  • Replace db_user with your database username.
  • Replace db_password with your database password.
  • Replace db_name with your database name.
  • If you're using a different host and port for MySQL/MariaDB, change them accordingly.

To configure the tests database, edit phpunit.xml.dist and change this line just like above:

<env name="DATABASE_URL" value="mysql://db_user:db_password@127.0.0.1:3306/db_name" />

Installation

Run the following commands in the root folder of this web application:

$ composer install  
$ php bin/console doctrine:migrations:migrate  
$ php bin/console doctrine:fixtures:load

In order to run the application, you can run the following command in the same folder:

$ php bin/console server:start  

Then open your web browser and go to http://localhost:8000/. The other option is to setup your web server and configure it, and then run the application using the web server. For more information please see Configuring a Web Server.

Tests

Run the following command in root folder, in order to run the unit tests:

$ ./vendor/bin/simple-phpunit

FAQ

  • How much time you spent for this assignment? 6 hours (including learning curves, documenting and testing).
  • What did/didn't you like about this project? Working with a new tech stack was a fun experience.
  • What would you have done differently, if you had had more time? Add i18n support; Add sort options for Logs section, etc.
  • With which parts of your application are you satisfied? Both the Tracker and Logs section.
  • Which would need improvement? I think the ReactJS components needs further refinements.
You can’t perform that action at this time.