Full web application to manage the work time of all participants in a project
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



Timelapse Web App

A full web application developed with PHP and HTML5 to manage the work time of the participants in a single project.

You can see a demo of the application here:

User: user - Pass: user

Just login and save your everyday work progress ;)



Screenshot2 Screenshot3
Screenshot4 Screenshot5
Screenshot6 Screenshot7


  • Authorization system with admin and basic roles
  • Dashboard with the overall timing of all users of the project
  • Simple work time storage (Each user only have to select a day of work and a number of hours)
  • Single Page Application (SPA) design to improve the performance
  • API system to communicate with the server
  • Automatic avatar based on username or Gravatar image linked with the user email
  • Add/Edit/Remove/Deactivate users directly from the website (Only admin role)
  • Users can customize his profiles and change the access password
  • System log of all events updating data in the database (Only admin role)
  • Simple database storage in independent files with autogeneration


Download or clone this repository into your web server folder.

# git clone https://github.com/necrotxilok/timelapse.git

Enjoy it!

First time you log into the application you can use the user 'admin' and the pass 'admin'.


All the project code is designed with the simplest methods and structures to easy implement new features or change the existing features.


The database is fully managed from php using SQLite 3. This allows you deploy your application in a simple server without configuring any database engine. All data files are stored in:


If any of this files are removed the application will regenerate the file next time it have to store some data.

The tables and the fields are configured using a php array in the next file:


To add default data into the tables in the database file creation we can use this file:


If we need to limit the information obtained from a table with a specific role we can use the file:


To add calculated information from data we can use the file:



The API is implemented under a basic file structure under core/api folder. Each folder into it represents a module in the application associated with a database file with the same name. Each php file into the module folder represents an action over that module (Login, get a list of users, update the timing in a day, etc). Then we can connect to the server API using this pattern:


Which corresponds with the file:



With DEBUG param activated each API call returns the SQL executed in the server. If we don't want to show this information to users we must disable this option.

/* core/config.php */
define('DEBUG', 0);


If you need to install the application for multiple projects under the same domain you can change the name of the application to generate a new Cookie for each site:

/* core/config.php */
define('APPNAME', 'NewProjectName');


You can also modify the styles of the entire application easily to fit with your project.

Custom Style 1

Custom Style 2


The application was developed using a combination of the latest web technologies: php 7, SQLite 3, HTML5, UIKit 3 and jQuery.

Vendor Logos

Support this project

If you like this project share it or invite me to a beer here

Developed by necro_txilok - 2018