Track your finances.
Note: This app is in very early development, so it might not even deploy to Heroku properly. Don't expect to see anything if you deploy it!
If you've read the above caveat, and still want to deploy it, just click here.
- Node v5+
- npm v3+
- Postgres v9.4
- Make sure that a superuser named
postgres
exists (this is required for running the API integration tests locally).
- Make sure that a superuser named
- Heroku account
- Heroku CLI
- Be sure to log in!
Clone this repository.
git clone git@github.com:jmeas/moolah.git
Navigate to the root directory of this project, and install the npm dependencies.
cd moolah && npm install
This project uses the same database in production as it does for developing locally (for now). Therefore, you must first deploy the application before you can begin developing on it. To deploy the app, follow the instructions above.
Next, you'll need to hook up your local repository with the Heroku app that you just created by adding the app as a remote. This guide can help you do that.
Lastly, run heroku config -s
from the project's root directory. Copy and paste the entire line beginning with DATABASE_URL=
into a file
in the root directory of this project called .env
. This will allow you to connect to the remote database when you run npm run work
.
Once you've followed the installation and database setup instructions above, you're ready to run the app locally. Follow these steps:
- Start up Postgres
- Run
npm run local-server
to start the Express app - Run
npm run work
to build the local assets, and set up the file watcher
The app should now be available in your browser at http://localhost:5000
.
npm run work
: Builds the client-side assets, and sets up a watcher for them.npm run local-server
: Starts the development web server. Restarts the server if it dies.npm run test
: Run the unit testsnpm run lint
: Lint the JavaScript filesnpm run test-browser
: Builds the app to run the tests in a local browsernpm run watch-tests
: Run the tests in Node. Then start a watch task to re-run them if you make any changes.npm run build
: Build a production version of the applicationnpm run coverage
: Generate a coverage reportnpm run migrate:up
: Applies migrationsnpm run migrate:down
: Reverts migrationsnpm run migrate:create
: Create a new migration