Repository files navigation

Image Continuous Time Tracking (CTT)

Build Status

If you can’t measure it, you can’t improve it.

Peter Drucker

Following this principle we wanted to implement a time tracking app that forces the users to continuously track their activities throughout their day. An activity cannot be ended and therefore switching activities only works by starting a new one. This ensures that the user's activities during a day are measured without breaks which should lead to better coverage and therefore more capabilities to improve time spending.

This project was developed by four students at Munich University of Applied Science during a two weeks time frame in their fifth semester's PBLV (Praxisbegleitende Lehrveranstaltung).

By providing this application as open source, we want to enable others to use this app for themselves in order to improve their time spending.

Content

  1. Content
  2. Usage
  3. Development Setup
    3.1. Code style
    3.2. Integration into Visual Studio Code
    3.3. Build and serve
    3.4. Run tests
  4. Contributors
  5. References

Usage

The app is available at: https://ctt.sart.solutions/.

The Entrypoint of the CTT is the login screen:

LoginScreen

If you have no account, you can create an account on the create account screen:

SignupScreen

Once you signed up, you will receive a verification email.

Type this verification code in the relating input box on the confirmation screen:

ConfirmationScreen

After you signed in, you will land at the home screen:

HomeScreen

At this screen you are prompted to start a new activity.

By clicking on the hamburger menu on the left of the "Continuous Time Tracking" label you can toggle the side navigation bar:

SideNavScreen

By clicking on "Categories" you can edit all categories or create a new one.

EditCategoriesScreen

On the edit categories screen you can edit a certain category by clicking on the pen-icon:

EditCategoryScreen

On the edit categories screen you can add a category py clicking on the "+":

AddCategoryScreen

By switching to the "History"-Tab you can view the history of the current day and step trough the days:

HistoryScreen

By clicking on your account name you can see your account details:

AccountScreen

Development Setup

Prerequisites:

  • Node.js v10.x or later
  • npm v5.x or later
  • git v2.14.1 or later

Install the aws-amplify cli with (you might need sudo):

  • npm install -g @aws-amplify/cli

Configure Amplify with:

  • amplify configure
  • region: us-east-1

Install Amplify libraries:

  • npm install --save aws-amplify @aws-amplify/ui-angular

Get implemented api, database and authentication with:

  • amplify pull

Check your Amplify status with:

  • amplify status

Code style

We use the default ESLint angular configuration for static code analysis. Furthermore we use the default prettier configuration to ensure a consistent code formatting within the project.

Integration into Visual Studio Code

Plugins:

Build and serve

You can build and serve your local changes locally by running:

  • npm install
  • ng serve

in the ./ctt-frontend directory.

Run tests

You can run the tests by running:

  • ng test

in the ./ctt-frontend directory.

Contributors

The following authors have contributed to this project (in alphabetical order):

References

Useful references and and documentations we used in our project:

About

Time tracking web application developed by four students at Munich University of Applied Science.

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Image Continuous Time Tracking (CTT)

Build Status

If you can’t measure it, you can’t improve it.

Peter Drucker

Following this principle we wanted to implement a time tracking app that forces the users to continuously track their activities throughout their day. An activity cannot be ended and therefore switching activities only works by starting a new one. This ensures that the user's activities during a day are measured without breaks which should lead to better coverage and therefore more capabilities to improve time spending.

This project was developed by four students at Munich University of Applied Science during a two weeks time frame in their fifth semester's PBLV (Praxisbegleitende Lehrveranstaltung).

By providing this application as open source, we want to enable others to use this app for themselves in order to improve their time spending.

Content

  1. Content
  2. Usage
  3. Development Setup
    3.1. Code style
    3.2. Integration into Visual Studio Code
    3.3. Build and serve
    3.4. Run tests
  4. Contributors
  5. References

Usage

The app is available at: https://ctt.sart.solutions/.

The Entrypoint of the CTT is the login screen:

LoginScreen

If you have no account, you can create an account on the create account screen:

SignupScreen

Once you signed up, you will receive a verification email.

Type this verification code in the relating input box on the confirmation screen:

ConfirmationScreen

After you signed in, you will land at the home screen:

HomeScreen

At this screen you are prompted to start a new activity.

By clicking on the hamburger menu on the left of the "Continuous Time Tracking" label you can toggle the side navigation bar:

SideNavScreen

By clicking on "Categories" you can edit all categories or create a new one.

EditCategoriesScreen

On the edit categories screen you can edit a certain category by clicking on the pen-icon:

EditCategoryScreen

On the edit categories screen you can add a category py clicking on the "+":

AddCategoryScreen

By switching to the "History"-Tab you can view the history of the current day and step trough the days:

HistoryScreen

By clicking on your account name you can see your account details:

AccountScreen

Development Setup

Prerequisites:

  • Node.js v10.x or later
  • npm v5.x or later
  • git v2.14.1 or later

Install the aws-amplify cli with (you might need sudo):

  • npm install -g @aws-amplify/cli

Configure Amplify with:

  • amplify configure
  • region: us-east-1

Install Amplify libraries:

  • npm install --save aws-amplify @aws-amplify/ui-angular

Get implemented api, database and authentication with:

  • amplify pull

Check your Amplify status with:

  • amplify status

Code style

We use the default ESLint angular configuration for static code analysis. Furthermore we use the default prettier configuration to ensure a consistent code formatting within the project.

Integration into Visual Studio Code

Plugins:

Build and serve

You can build and serve your local changes locally by running:

  • npm install
  • ng serve

in the ./ctt-frontend directory.

Run tests

You can run the tests by running:

  • ng test

in the ./ctt-frontend directory.

Contributors

The following authors have contributed to this project (in alphabetical order):

References

Useful references and and documentations we used in our project:

About

Time tracking web application developed by four students at Munich University of Applied Science.

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Image Continuous Time Tracking (CTT)

Build Status

If you can’t measure it, you can’t improve it.

Peter Drucker

Following this principle we wanted to implement a time tracking app that forces the users to continuously track their activities throughout their day. An activity cannot be ended and therefore switching activities only works by starting a new one. This ensures that the user's activities during a day are measured without breaks which should lead to better coverage and therefore more capabilities to improve time spending.

This project was developed by four students at Munich University of Applied Science during a two weeks time frame in their fifth semester's PBLV (Praxisbegleitende Lehrveranstaltung).

By providing this application as open source, we want to enable others to use this app for themselves in order to improve their time spending.

Content

  1. Content
  2. Usage
  3. Development Setup
    3.1. Code style
    3.2. Integration into Visual Studio Code
    3.3. Build and serve
    3.4. Run tests
  4. Contributors
  5. References

Usage

The app is available at: https://ctt.sart.solutions/.

The Entrypoint of the CTT is the login screen:

LoginScreen

If you have no account, you can create an account on the create account screen:

SignupScreen

Once you signed up, you will receive a verification email.

Type this verification code in the relating input box on the confirmation screen:

ConfirmationScreen

After you signed in, you will land at the home screen:

HomeScreen

At this screen you are prompted to start a new activity.

By clicking on the hamburger menu on the left of the "Continuous Time Tracking" label you can toggle the side navigation bar:

SideNavScreen

By clicking on "Categories" you can edit all categories or create a new one.

EditCategoriesScreen

On the edit categories screen you can edit a certain category by clicking on the pen-icon:

EditCategoryScreen

On the edit categories screen you can add a category py clicking on the "+":

AddCategoryScreen

By switching to the "History"-Tab you can view the history of the current day and step trough the days:

HistoryScreen

By clicking on your account name you can see your account details:

AccountScreen

Development Setup

Prerequisites:

  • Node.js v10.x or later
  • npm v5.x or later
  • git v2.14.1 or later

Install the aws-amplify cli with (you might need sudo):

  • npm install -g @aws-amplify/cli

Configure Amplify with:

  • amplify configure
  • region: us-east-1

Install Amplify libraries:

  • npm install --save aws-amplify @aws-amplify/ui-angular

Get implemented api, database and authentication with:

  • amplify pull

Check your Amplify status with:

  • amplify status

Code style

We use the default ESLint angular configuration for static code analysis. Furthermore we use the default prettier configuration to ensure a consistent code formatting within the project.

Integration into Visual Studio Code

Plugins:

Build and serve

You can build and serve your local changes locally by running:

  • npm install
  • ng serve

in the ./ctt-frontend directory.

Run tests

You can run the tests by running:

  • ng test

in the ./ctt-frontend directory.

Contributors

The following authors have contributed to this project (in alphabetical order):

References

Useful references and and documentations we used in our project:

About

Time tracking web application developed by four students at Munich University of Applied Science.

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Image Continuous Time Tracking (CTT)

Build Status

If you can’t measure it, you can’t improve it.

Peter Drucker

Following this principle we wanted to implement a time tracking app that forces the users to continuously track their activities throughout their day. An activity cannot be ended and therefore switching activities only works by starting a new one. This ensures that the user's activities during a day are measured without breaks which should lead to better coverage and therefore more capabilities to improve time spending.

This project was developed by four students at Munich University of Applied Science during a two weeks time frame in their fifth semester's PBLV (Praxisbegleitende Lehrveranstaltung).

By providing this application as open source, we want to enable others to use this app for themselves in order to improve their time spending.

Content

  1. Content
  2. Usage
  3. Development Setup
    3.1. Code style
    3.2. Integration into Visual Studio Code
    3.3. Build and serve
    3.4. Run tests
  4. Contributors
  5. References

Usage

The app is available at: https://ctt.sart.solutions/.

The Entrypoint of the CTT is the login screen:

LoginScreen

If you have no account, you can create an account on the create account screen:

SignupScreen

Once you signed up, you will receive a verification email.

Type this verification code in the relating input box on the confirmation screen:

ConfirmationScreen

After you signed in, you will land at the home screen:

HomeScreen

At this screen you are prompted to start a new activity.

By clicking on the hamburger menu on the left of the "Continuous Time Tracking" label you can toggle the side navigation bar:

SideNavScreen

By clicking on "Categories" you can edit all categories or create a new one.

EditCategoriesScreen

On the edit categories screen you can edit a certain category by clicking on the pen-icon:

EditCategoryScreen

On the edit categories screen you can add a category py clicking on the "+":

AddCategoryScreen

By switching to the "History"-Tab you can view the history of the current day and step trough the days:

HistoryScreen

By clicking on your account name you can see your account details:

AccountScreen

Development Setup

Prerequisites:

  • Node.js v10.x or later
  • npm v5.x or later
  • git v2.14.1 or later

Install the aws-amplify cli with (you might need sudo):

  • npm install -g @aws-amplify/cli

Configure Amplify with:

  • amplify configure
  • region: us-east-1

Install Amplify libraries:

  • npm install --save aws-amplify @aws-amplify/ui-angular

Get implemented api, database and authentication with:

  • amplify pull

Check your Amplify status with:

  • amplify status

Code style

We use the default ESLint angular configuration for static code analysis. Furthermore we use the default prettier configuration to ensure a consistent code formatting within the project.

Integration into Visual Studio Code

Plugins:

Build and serve

You can build and serve your local changes locally by running:

  • npm install
  • ng serve

in the ./ctt-frontend directory.

Run tests

You can run the tests by running:

  • ng test

in the ./ctt-frontend directory.

Contributors

The following authors have contributed to this project (in alphabetical order):

References

Useful references and and documentations we used in our project:

About

Time tracking web application developed by four students at Munich University of Applied Science.

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Image Continuous Time Tracking (CTT)

Build Status

If you can’t measure it, you can’t improve it.

Peter Drucker

Following this principle we wanted to implement a time tracking app that forces the users to continuously track their activities throughout their day. An activity cannot be ended and therefore switching activities only works by starting a new one. This ensures that the user's activities during a day are measured without breaks which should lead to better coverage and therefore more capabilities to improve time spending.

This project was developed by four students at Munich University of Applied Science during a two weeks time frame in their fifth semester's PBLV (Praxisbegleitende Lehrveranstaltung).

By providing this application as open source, we want to enable others to use this app for themselves in order to improve their time spending.

Content

  1. Content
  2. Usage
  3. Development Setup
    3.1. Code style
    3.2. Integration into Visual Studio Code
    3.3. Build and serve
    3.4. Run tests
  4. Contributors
  5. References

Usage

The app is available at: https://ctt.sart.solutions/.

The Entrypoint of the CTT is the login screen:

LoginScreen

If you have no account, you can create an account on the create account screen:

SignupScreen

Once you signed up, you will receive a verification email.

Type this verification code in the relating input box on the confirmation screen:

ConfirmationScreen

After you signed in, you will land at the home screen:

HomeScreen

At this screen you are prompted to start a new activity.

By clicking on the hamburger menu on the left of the "Continuous Time Tracking" label you can toggle the side navigation bar:

SideNavScreen

By clicking on "Categories" you can edit all categories or create a new one.

EditCategoriesScreen

On the edit categories screen you can edit a certain category by clicking on the pen-icon:

EditCategoryScreen

On the edit categories screen you can add a category py clicking on the "+":

AddCategoryScreen

By switching to the "History"-Tab you can view the history of the current day and step trough the days:

HistoryScreen

By clicking on your account name you can see your account details:

AccountScreen

Development Setup

Prerequisites:

  • Node.js v10.x or later
  • npm v5.x or later
  • git v2.14.1 or later

Install the aws-amplify cli with (you might need sudo):

  • npm install -g @aws-amplify/cli

Configure Amplify with:

  • amplify configure
  • region: us-east-1

Install Amplify libraries:

  • npm install --save aws-amplify @aws-amplify/ui-angular

Get implemented api, database and authentication with:

  • amplify pull

Check your Amplify status with:

  • amplify status

Code style

We use the default ESLint angular configuration for static code analysis. Furthermore we use the default prettier configuration to ensure a consistent code formatting within the project.

Integration into Visual Studio Code

Plugins:

Build and serve

You can build and serve your local changes locally by running:

  • npm install
  • ng serve

in the ./ctt-frontend directory.

Run tests

You can run the tests by running:

  • ng test

in the ./ctt-frontend directory.

Contributors

The following authors have contributed to this project (in alphabetical order):

References

Useful references and and documentations we used in our project:

About

Time tracking web application developed by four students at Munich University of Applied Science.

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Image Continuous Time Tracking (CTT)

Build Status

If you can’t measure it, you can’t improve it.

Peter Drucker

Following this principle we wanted to implement a time tracking app that forces the users to continuously track their activities throughout their day. An activity cannot be ended and therefore switching activities only works by starting a new one. This ensures that the user's activities during a day are measured without breaks which should lead to better coverage and therefore more capabilities to improve time spending.

This project was developed by four students at Munich University of Applied Science during a two weeks time frame in their fifth semester's PBLV (Praxisbegleitende Lehrveranstaltung).

By providing this application as open source, we want to enable others to use this app for themselves in order to improve their time spending.

Content

  1. Content
  2. Usage
  3. Development Setup
    3.1. Code style
    3.2. Integration into Visual Studio Code
    3.3. Build and serve
    3.4. Run tests
  4. Contributors
  5. References

Usage

The app is available at: https://ctt.sart.solutions/.

The Entrypoint of the CTT is the login screen:

LoginScreen

If you have no account, you can create an account on the create account screen:

SignupScreen

Once you signed up, you will receive a verification email.

Type this verification code in the relating input box on the confirmation screen:

ConfirmationScreen

After you signed in, you will land at the home screen:

HomeScreen

At this screen you are prompted to start a new activity.

By clicking on the hamburger menu on the left of the "Continuous Time Tracking" label you can toggle the side navigation bar:

SideNavScreen

By clicking on "Categories" you can edit all categories or create a new one.

EditCategoriesScreen

On the edit categories screen you can edit a certain category by clicking on the pen-icon:

EditCategoryScreen

On the edit categories screen you can add a category py clicking on the "+":

AddCategoryScreen

By switching to the "History"-Tab you can view the history of the current day and step trough the days:

HistoryScreen

By clicking on your account name you can see your account details:

AccountScreen

Development Setup

Prerequisites:

  • Node.js v10.x or later
  • npm v5.x or later
  • git v2.14.1 or later

Install the aws-amplify cli with (you might need sudo):

  • npm install -g @aws-amplify/cli

Configure Amplify with:

  • amplify configure
  • region: us-east-1

Install Amplify libraries:

  • npm install --save aws-amplify @aws-amplify/ui-angular

Get implemented api, database and authentication with:

  • amplify pull

Check your Amplify status with:

  • amplify status

Code style

We use the default ESLint angular configuration for static code analysis. Furthermore we use the default prettier configuration to ensure a consistent code formatting within the project.

Integration into Visual Studio Code

Plugins:

Build and serve

You can build and serve your local changes locally by running:

  • npm install
  • ng serve

in the ./ctt-frontend directory.

Run tests

You can run the tests by running:

  • ng test

in the ./ctt-frontend directory.

Contributors

The following authors have contributed to this project (in alphabetical order):

References

Useful references and and documentations we used in our project:

About

Time tracking web application developed by four students at Munich University of Applied Science.

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Image Continuous Time Tracking (CTT)

Build Status

If you can’t measure it, you can’t improve it.

Peter Drucker

Following this principle we wanted to implement a time tracking app that forces the users to continuously track their activities throughout their day. An activity cannot be ended and therefore switching activities only works by starting a new one. This ensures that the user's activities during a day are measured without breaks which should lead to better coverage and therefore more capabilities to improve time spending.

This project was developed by four students at Munich University of Applied Science during a two weeks time frame in their fifth semester's PBLV (Praxisbegleitende Lehrveranstaltung).

By providing this application as open source, we want to enable others to use this app for themselves in order to improve their time spending.

Content

  1. Content
  2. Usage
  3. Development Setup
    3.1. Code style
    3.2. Integration into Visual Studio Code
    3.3. Build and serve
    3.4. Run tests
  4. Contributors
  5. References

Usage

The app is available at: https://ctt.sart.solutions/.

The Entrypoint of the CTT is the login screen:

LoginScreen

If you have no account, you can create an account on the create account screen:

SignupScreen

Once you signed up, you will receive a verification email.

Type this verification code in the relating input box on the confirmation screen:

ConfirmationScreen

After you signed in, you will land at the home screen:

HomeScreen

At this screen you are prompted to start a new activity.

By clicking on the hamburger menu on the left of the "Continuous Time Tracking" label you can toggle the side navigation bar:

SideNavScreen

By clicking on "Categories" you can edit all categories or create a new one.

EditCategoriesScreen

On the edit categories screen you can edit a certain category by clicking on the pen-icon:

EditCategoryScreen

On the edit categories screen you can add a category py clicking on the "+":

AddCategoryScreen

By switching to the "History"-Tab you can view the history of the current day and step trough the days:

HistoryScreen

By clicking on your account name you can see your account details:

AccountScreen

Development Setup

Prerequisites:

  • Node.js v10.x or later
  • npm v5.x or later
  • git v2.14.1 or later

Install the aws-amplify cli with (you might need sudo):

  • npm install -g @aws-amplify/cli

Configure Amplify with:

  • amplify configure
  • region: us-east-1

Install Amplify libraries:

  • npm install --save aws-amplify @aws-amplify/ui-angular

Get implemented api, database and authentication with:

  • amplify pull

Check your Amplify status with:

  • amplify status

Code style

We use the default ESLint angular configuration for static code analysis. Furthermore we use the default prettier configuration to ensure a consistent code formatting within the project.

Integration into Visual Studio Code

Plugins:

Build and serve

You can build and serve your local changes locally by running:

  • npm install
  • ng serve

in the ./ctt-frontend directory.

Run tests

You can run the tests by running:

  • ng test

in the ./ctt-frontend directory.

Contributors

The following authors have contributed to this project (in alphabetical order):

References

Useful references and and documentations we used in our project:

About

Time tracking web application developed by four students at Munich University of Applied Science.

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Image Continuous Time Tracking (CTT)

Build Status

If you can’t measure it, you can’t improve it.

Peter Drucker

Following this principle we wanted to implement a time tracking app that forces the users to continuously track their activities throughout their day. An activity cannot be ended and therefore switching activities only works by starting a new one. This ensures that the user's activities during a day are measured without breaks which should lead to better coverage and therefore more capabilities to improve time spending.

This project was developed by four students at Munich University of Applied Science during a two weeks time frame in their fifth semester's PBLV (Praxisbegleitende Lehrveranstaltung).

By providing this application as open source, we want to enable others to use this app for themselves in order to improve their time spending.

Content

  1. Content
  2. Usage
  3. Development Setup
    3.1. Code style
    3.2. Integration into Visual Studio Code
    3.3. Build and serve
    3.4. Run tests
  4. Contributors
  5. References

Usage

The app is available at: https://ctt.sart.solutions/.

The Entrypoint of the CTT is the login screen:

LoginScreen

If you have no account, you can create an account on the create account screen:

SignupScreen

Once you signed up, you will receive a verification email.

Type this verification code in the relating input box on the confirmation screen:

ConfirmationScreen

After you signed in, you will land at the home screen:

HomeScreen

At this screen you are prompted to start a new activity.

By clicking on the hamburger menu on the left of the "Continuous Time Tracking" label you can toggle the side navigation bar:

SideNavScreen

By clicking on "Categories" you can edit all categories or create a new one.

EditCategoriesScreen

On the edit categories screen you can edit a certain category by clicking on the pen-icon:

EditCategoryScreen

On the edit categories screen you can add a category py clicking on the "+":

AddCategoryScreen

By switching to the "History"-Tab you can view the history of the current day and step trough the days:

HistoryScreen

By clicking on your account name you can see your account details:

AccountScreen

Development Setup

Prerequisites:

  • Node.js v10.x or later
  • npm v5.x or later
  • git v2.14.1 or later

Install the aws-amplify cli with (you might need sudo):

  • npm install -g @aws-amplify/cli

Configure Amplify with:

  • amplify configure
  • region: us-east-1

Install Amplify libraries:

  • npm install --save aws-amplify @aws-amplify/ui-angular

Get implemented api, database and authentication with:

  • amplify pull

Check your Amplify status with:

  • amplify status

Code style

We use the default ESLint angular configuration for static code analysis. Furthermore we use the default prettier configuration to ensure a consistent code formatting within the project.

Integration into Visual Studio Code

Plugins:

Build and serve

You can build and serve your local changes locally by running:

  • npm install
  • ng serve

in the ./ctt-frontend directory.

Run tests

You can run the tests by running:

  • ng test

in the ./ctt-frontend directory.

Contributors

The following authors have contributed to this project (in alphabetical order):

References

Useful references and and documentations we used in our project:

About

Time tracking web application developed by four students at Munich University of Applied Science.

Topics

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages