React Time Logging is a web application written in Javascript, using React library.
The purpose of this app is to allow user to store his daily tasks in a readable way. User can customize the app in multiple ways (see App customization section for more), and easily manipulate created tasks.
It is an extended, second version of vanilla JS application I built some time ago, called JIRA-Like Time Logging.
The original app was limited to adding, viewing, editing and deleting tasks, primitive form validation, bulk deleting tasks and confirmation dialog.
To see the differences in features, please see Features section.
react
as the fundamental librarytypescript
for safe typingreact-redux
andredux-toolkit
for state managementantd
as the UI library and iconsstyled-components
andsass
for stylingformik
for form management andyup
for validation schemamoment
for date handlingreact-beautiful-dnd
for drag-n-dropi18next
&react-i18next
for translation handlinglocalbase
for storing the data in indexed-db
In order to be able to properly install and run the application, Node and either npm or yarn must be installed.
To install the app dependencies, run either yarn or npm command:
yarn install
npm install
depending on your package manager of choice.
To run the app, run either one of these:
yarn start
npm start
This will compile TypeScript and open a new tab in your default browser, most likely at http://localhost:3000/
Application is open for customization through Settings Dialog (opened by a button in right-hand top corner of the app).
User can set multiple different options:
- weekend display (display only weekdays, weekdays with saturday or full week)
- first day of the week
- target hours per day (amount of hours that are expected each day to reach 100% of progress bar)
- limit of hours per day (amount of hours that cannot be exceeded)
- option to disable time related checks and limits
- language
- theme
- condensed mode
- Creating, viewing, updating, duplicating and deleting tasks;
- Creating, updating and deleting categories;
- Advanced form validation, user-friendly duration input;
- Bulk deleting tasks;
- Confirmation dialog;
- Customization of application and board;
- Drag n drop of tasks (with validation of day limit);
- Context menu with cut, copy and paste (with validation of day limit);
- Filters with option to set as default (loaded on app load);
React Time Logging was created by kkosmowski
You are free to use the app without any costs (both personal and professional use), however it is prohibited to claim to be the author or owner of this app.