0.2.1 • Published 6 years ago

@todastic/cli v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

Todastic

Build Status Maintainability Coverage Status

Simple self-, project- and task management.

Building

Run npm to install necessary scripts (and lerna).

npm install

If you have ./node_modules/.bin in your $PATH, you can run lerna to install all packages in the monorepo. Otherwise, you should install lerna globally by doing npm install -g lerna.

lerna bootstrap

Running the client

lerna run build-client && npm run start-web

Docker

Build the docker container

docker build -t todastic .

And run it as you're used to:

docker run -p 3000:3000 -d todastic

If you only want to start a mongodb and connect from your local dev environment to it:

docker run -e MONGO_INITDB_DATABASE=todastic -d --name todastic_mongo_standalone -p 127.0.0.1:27017:27017 mongo --smallfiles

Then start todastic with

DB_PORT=27017 DB_DATABASE=todastic SESSION_STORE=mongo npm run local

Tests

The tests are run via travis-ci.

Run the following command in order to see results: docker-compose -p tests run -p 3000 --rm todastic npm run test

Browser based end-to-end tests

The browser based tests in travis-integration-test.sh build and start the application via docker-compose in a docker container. The test itself is run on the baremetal machine (Getting a browser up and running in a container is not trivial). It reuses a installed Chrome browser. Codecept also supports other browsers.

In case you want to start the npm task test-browser by hand, make sure, the app is running on localhost:3000 and the user John exists with password Snow.

Development

You can automatically build frontend changes with npm run watch-web.

Database

From v0.2.2 on, todastic uses mongoDB for user and session management. Easiest configuration option is to follow the 12 factor pattern and configure todastic via the following environment variables:

DB_HOST
DB_USER
DB_PASSWORD
DB_PORT
DB_DATABASE

User and password can be left empty if your mongodb instance doesn't require authentication.

You can also set the environment variable PORT to bind to a different port than the standard 3000.

SESSION_STORE is also configurable. Currently supported options are in-memory (default, not suited for production) and mongo.

Administration

Adding users

You can use the node script add-user.js in the package konsol to add a user. For more convenient usage, it is included in the root package.json:

npm run add-user -- -u <username> -p <password> -l <language>

Note: You don't have to provide a password or language. There will be a password auto-generated and english will be uses as language. Known languages are english (en) and german (de).

0.2.1

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago