./install.sh
sql/GigKeeper-schema.sql
on the new databaseconfig/config.json
gulp db:seed:data
to populate the database with test data.See the config/config.json.sample
for example config JSON.
As an alternative to the config.json
described above, you can provide environment-specific configuration in system environment variables. Environment variables take precedence over the config.json
variables.
The config.json
file works well with local development. However, environment variables are the preferred approach to a hosted solution.
Name | Description | Default |
---|---|---|
NODE_ENV | The node environment (development, stage, production) | development |
UI_PROTOCOL | UI web server protocol | http |
UI_HOST | UI web server host | localhost |
UI_PORT | UI web server port | 8001 |
SERVER_PROTOCOL | Web server protocol | http |
SERVER_HOST | Web server host | localhost |
SERVER_PORT | Web server port | 8000 |
SERVER_EXTERNAL_PORT | Web server external port -- use when proxying node | 8000 |
JWT_SECRET | JSON Web Token secret key | NeverShareYourSecret |
DB_HOST | Database host name | localhost |
DB_PORT | Database host port | 5432 |
DB_DIALECT | Database host dialect | postgres |
DB_NAME | Database name | gigkeeper |
DB_USER | Database username | gigkeeper |
DB_PASS | Database password | gigkeeper |
DB_LOGGING | Set to true to log SQL commands to the console | false |
SMTP_ENABLED | Set to true to enable sending email | false |
SMTP_FROM_ADDRESS | Email address that all system emails will come from | |
SMTP_SINGLE_ADDRESS | Set to an email address to send all emails to a single address | |
SMTP_SERVICE | SMTP service supported by nodemailer | gmail |
SMTP_USER | SMTP username | |
SMTP_PASS | SMTP password | |
GOOGLE_MAPS_API_KEY | Google Maps API key |
See the list of nodemailer's well know services for the SMTP service.
To generate a cryptographically strong JWT secret:
node -e "console.log(require('crypto').randomBytes(256).toString('base64'));"
Go to Google Maps API to generate an API key.
Future updates may have a different schema than what you have installed. To prevent losing data, migrate the schema:
gulp db:migrate
If you are migrating anything other than the development environmnet, pass an env
argument:
gulp db:migrate --env production
Start up the server with:
gulp
Wait until you see the [BS] message that says it is serving files from www.
Once the database is seeded with test fixtures, you can run the lab tests with:
gulp test
Once you have the application installed and configured, time to create an initial profile and user and get logged in. Execute the following gulp task to create a new profile:
gulp profile:create --email <email address> --password <password>
This will create a new profile and user with the specified email and password.
Navigate to the home page (i.e., http://localhost:8000) and log in with the email and password used above.
Navigate to My Account > My Profile to update your email address or password, as needed.
Navigate to My Gigs > Settings to setup your homebase location and gig defaults.
Navigate to My Gigs > Contractors to add contractors. These are the companies or people who book you to to gigs and pay you cheddar.
Navigate to My Gigs > Tags to add tags that you will use to categorize your gigs (i.e., Wedding, Private Party, Charitable Event, etc.).
Finally, navigate to My Gigs > Gigs and start adding gigs!
Submit an issue at https://github.com/ne0fite/GigKeeper/issues to request enhancements or report a bug.
Pull requests are always welcome!
Copyright (C) 2017 Phoenix Bright Software, LLC
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.