Villefort: Villefort is a task manager and time tracker

[ bsd3, library, program, task, web ] [ Propose Tags ]

Villefort is a browser based time tracker built around a sqlite3 database.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7, 0.1.0.8, 0.1.1.0, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.1.4, 0.1.1.5, 0.1.1.6, 0.1.1.7, 0.1.1.8, 0.1.1.9, 0.1.1.10, 0.1.1.11, 0.1.1.12, 0.1.1.13, 0.1.1.14, 0.1.1.15, 0.1.2.1, 0.1.2.2, 0.1.2.3, 0.1.2.4, 0.1.2.5, 0.1.2.6, 0.1.2.7, 0.1.2.8, 0.1.2.9, 0.1.2.10, 0.1.2.11, 0.1.2.12, 0.1.2.13, 0.1.2.14, 0.1.2.15, 0.1.2.16, 0.1.2.17, 0.1.2.18, 0.1.2.19 (info)
Dependencies base (>=4.7 && <5), bytestring, convertible, directory, filepath, HDBC (>=2.4.0 && <2.5), HDBC-sqlite3 (>=2.3.3 && <2.4), MissingH, mtl (>=2.2.1 && <2.3), process, random, scotty (>=0.11.0 && <0.12), split (>=0.2.3 && <0.3), strict, text, time (>=1.6.0 && <1.7), transformers, unix, Villefort [details]
License BSD-3-Clause
Copyright 2017 Alice Reuter
Author Alice Reuter
Maintainer alicereuterdev@gmail.com
Category Web
Home page https://github.com/alicereuter/Villefort#readme
Source repo head: git clone https://github.com/alicereuter/Villefort
Uploaded by AliceReuter at 2018-07-05T19:45:51Z
Distributions
Executables Villefort
Downloads 21372 total (45 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-07-05 [all 1 reports]

Readme for Villefort-0.1.2.13

[back to package description]

Villefort

Villefort is a time management system written in Haskell.

Version 1.2.13

  • Integrated date and day tracking into database to stop file corruption.

default config

Home screen

alt text

Add new todos

alt text

Stats page

alt text

To install

  1. Install cabal (https://www.haskell.org/platform/)
  2. In terminal or command prompt run cabal install Villefort.
  3. and then cabal run Villefort.
  4. You will be able to see the home screen by typing localhost:3002 into your favorite browser.

Configure your villefort

create a custom main method in ~.villefort/villefort.hs. Below is an example.

module Main where

import Villefort.Server
import Villefort.Config
import Villefort.Definitions
import System.Random
import System.IO.Strict as S

main :: IO ()
main = villefort def {
  daily = [calendar ],
  weekly = defWeekly {
    monday = [push],
    wednesday = [push],
    friday = [push,
              scan]
 
    }
 }

calendar = pure ["","check calendar","admin"]
scan     = pure ["scan class notes","scan","admin"] 

-- | generate increasing sets of push ups
push = do
  rawNum <- S.readFile "push"  -- readfile to get # push ups
  let num = read rawNum :: Double
  writeFile "push" (show (num+0.3))
  sets <- pushUps num
  return $ [show sets,"push ups","fit"]

pushUps level = do
  dubs <-  mapM gen $ replicate 5 level :: IO [Double]
  return $ map floor dubs
  where gen x =  randomRIO (x-(x/3),x+(x/3))
 

Use Villefort --recompile to recompile Villefort with your custom config. Recompilation requires ghc to be in your $PATH. The next time you run villefort it will run with your custom config. The default Config is found in Villefort.Config.

How to copy data between versions of Villefort.

  1. Install the new version through cabal.
  2. Navigate to ~/.cabal .
  3. Navigate to share/ .
  4. Navigate into your architecture folder mine is x86_64-linux-ghc-7.10.3.
  5. You should now see different versions of Villefort.

Villefort-0.1.2.12/

    |-- data/
    |   |-- date
    |   |-- day
    |   |-- todo.db
    |-- templates/
    |-- js.js

Villefort-0.1.2.13/

	|-- data/
	|   |-- date
	|   |-- day
	|   |-- todo.db
	|-- templates/
	|-- js.js

Just copy the data/todo.db from the old version into data/todo.db of the new version. Remember to rebuild Villefort so that your custom build uses the new version of Villefort.

Villefort --recompile