Villefort: Villefort is a task manager and time tracker written in haskell.

[ bsd3, library, program, task, web ] [ Propose Tags ]
This version is deprecated.
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, directory, filepath, HDBC (>=2.4.0 && <2.5), HDBC-sqlite3 (>=2.3.3 && <2.4), 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 Chris Reuter
Author Chris Reuter
Maintainer creuter@lsoc.org
Category Web
Home page https://github.com/Chrisr850/Villefort#readme
Source repo head: git clone https://github.com/Chrisr850/Villefort
Uploaded by ChrisReuter at 2017-11-10T02:16:55Z
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 2017-11-10 [all 1 reports]

Readme for Villefort-0.1.2.4

[back to package description]

Villefort

Villefort is a time managment system written in Haskell.

Version 1.2.3

  • Fixed bug in weekly time reports

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 homescreen 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
import Villefort.Definitions
import System.Random
import System.IO.Strict as S

main :: IO ()
main = villefort def {
  daily = [floss,
           calendar ],
  weekly = defWeekly {
    monday = [more,
             dailyRef],
    tuesday = [dailyRef],
    wednesday = [more,
                dailyRef],
    thursday  = [dailyRef],
    friday = [more,
              scan,
              dailyRef]
 
    },
    showDatabase = True
 }

floss    = pure ["","floss","wellness"]
calendar = pure ["","check calendar","admin"]
scan     = pure ["scan class notes","scan","admin"] 
dailyRef = pure ["write a daily reflection on each class","reflect","admin"]

more = do
  z <- S.readFile  "/home/chris/.villefort/push"  -- readfile to get # push ups
  let num = read z :: Double
  writeFile "/home/chris/.villefort/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))
 

Then run Villefort --recompile the next time you run villefort it will run with your configuration.

The default configuration is located here https://github.com/Chrisr850/Villefort/blob/master/src/Villefort/Config.hs

How to copy data between versions of Villefort.

Install the new version through cabal Navigate to ~/.cabal Navigate to share/ Navigate into your architecture folder mines x86_64-linux-ghc-7.10.3 You should now see different versions of Villefort

Villefort-0.1.1.0/

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

Villefort-0.1.1.1/

	|-- 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. Then remember to rebuild Villefort if you have a custom build.

Villefort --recompile