Time tracking you can host anywhere, built on Django. Full export support in multiple formats and easily extensible.
djangodockerhandcodedpythonself-hostedtime-trackingtimetracker
1import './assets';
2
3import Vue from 'vue';
4
5import VueMoment from './plugins/moment';
6import VueSocket from './plugins/socket';
7import VuePermissions from './plugins/permissions';
8
9import App from './components/app.vue';
10
11import router from './router';
12import store from './store';
13
14
15
16// Global event bus
17
18Vue.prototype.$bus = new Vue();
19
20
21// Plugins
22
23Vue.use(VueMoment);
24Vue.use(VueSocket);
25Vue.use(VuePermissions);
26
27
28// Promise permissions to all routes, update document title on route
29
30router.beforeEach((to, from, next) => {
31 Promise.all([Vue.prototype.$perms]).then(function() {
32 next();
33 });
34 document.title = to.meta.title;
35});
36
37
38// Run all store getters to start
39
40store.dispatch('users/fetchUsers');
41store.dispatch('tasks/fetchTasks');
42store.dispatch('clients/fetchClients');
43store.dispatch('projects/fetchProjects');
44store.dispatch('entries/fetchEntries');
45
46
47// Start vue app
48
49new Vue({
50 router,
51 store,
52 el: '#app',
53 render(createElement) {
54 return createElement(App);
55 },
56});