** A time accounting web app (mostly for musicians)
*** Introduction
This application tracks time spent on activities by providing data
input for instrument and time practiced as well as for non musician-related events,
such as household chores and engineering tasks. In the
case of musical-practice entries, graphs are produced.
** Multi-user
The app is multi-user and requires users to login.
Clear any interfering login from the browser's password manger if there's trouble
with the entered login being overwritten with another user/password pair.
* Installation
** Requirements
- PostgreSQL
-- Plan C uses the user-id of the process that runs racket.
that user (probably you) must exist in Postgres with
a default database. No password is used, but one can be
configured in config/planc-cfg.scm.
- If you need a new user, to create a database user,
log in as the database administrator (postgres on my machine) and run the script createuser --interactive .
1.1 The user needs create-database permission.
1.2. Run psql as the new user but connect to the postgres database.
+BEGIN_SRC sh
psql -U postgres
+END_SRC
2.2 Now create the Plan C database, then exit.
+BEGIN_SRC sql
CREATE DATABASE plan_c;
\q
+END_SRC
- Racket (see /Caveats/ below.)
**** Procedure (production mode)
- Git clone this package.
- Use htpasswd (from Apache) to add a user to the password file (currently in the config dir as config/htpasswd)
2.2. You may user the passwd.guest file where "guest" is both the password and the userid.
- Check the config file: config/planc-cfg.scm
If you wish to run in devel (vs production) mode, create the file "devel" in the main directory.
Run the file http-server.rkt (with DrRacket or racket.)
- Run "make install" to create a data directory and fix up a few permissions.
- Run make run to start Plan C.
***** Developer Mode
- After the plan_c database is created in Postgresql, use Dr. Racket to run http-serv.rkt.
*** Usage
Run: make install.
Start the program with: plan-c, (or plan-c -g for the IDE)
Browse: http://localhost:8008/ (production mode). Use port 8000 for /devel/ mode.
***** Caveats
You will have to install the following Racket packages in order to run the app:
- debug
- seq
- simple-svg
- yaml
Only tested on Gentoo GNU/Linux