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

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

Villefort is a browser based time tracker.


[Skip to Readme]
Versions 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 (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 Sun Nov 5 00:26:31 UTC 2017
Distributions NixOS:0.1.2.14
Executables Villefort
Downloads 7125 total (124 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-11-05 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for Villefort-0.1.2.2

[back to package description]

Villefort

Villefort is a time managment system written in Haskell.

Version 1.2.2

  • Rewrote the weekly sorting by category algorithm so that it actually workds
  • Fix weekly page error. 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