Skip to content

pnagurny/cointract.me

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cointract.me

Do work. Track time. Get coins.

Build Status

Cointract.me is a collaborative task tracking app that allows you to post jobs, get hired, track time, and accept bitcoin! Invoices are reconciled using the Insight API and payouts may be facilitated using the BitPay API.

Quick Setup

Clone the repository and install dependencies with NPM.

~# git clone https://github.com/gordonwritescode/cointract.me.git
~# cd cointract.me
~# [sudo] npm install

Create a config.json in the app's root directory, following the conventions in config.example.json.

~# cp config.example.json config.json

Run tests and fire up the server.

~# npm test
~# NODE_ENV=development npm start

BitPay Integration

We use the node-bitpay-client library for accepting payments for job postings. If you wish to charge your users for posting jobs, set the payments.price and payments.currency in your config.json. If the payments.price is set to 0, then the job will be be published automatically after a brief moment.

Consult the node-bitpay-client documentation for details on setting up your client access keys for your BitPay account. The quick and dirty way:

~# cd node_modules/bitpay && sudo npm link
~# bitpay keygen
~# bitpay login -e [email protected]

Then check your email and approve the access key request or use the key manager interface from within the BitPay website's dashboard to approve the key. Once approved, you can run the following to verify things are working:

~# bitpay whoami

Then update your config.json and set bitpay.pubkey and bitpay.secret to the absolute path to your keys. By default, this is $HOME/.bitpay/api.key and $HOME/.bitpay/api.pub, but may differ if you set an explicit path using the -o or --output option when generating the keys.

Creating Certificates

You should generate a self-signed SSL certificate to run the application with your config's server.ssl.enabled set to true, for testing and development purposes.

You can do this easily by following this guide.

About

Do work. Track time. Get coins.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published