Igloo Houston is the back-end service of Igloo Cloud Framework.
This service is still in development, some features may be missing. If your Igloo-based project needs a missing feature in order to work, please open an issue or help us by contributing.
Start by cloning the repository and downloading the required libraries:
git clone https://github.com/hellowitlab/iglooHouston
yarn
or
git clone https://github.com/hellowitlab/iglooHouston
npm install
You will need to create a file .env
or inject the variables in the environment yourself, the .env
file should bee like this:
JWT_SECRET=
PUBLIC_VAPID_KEY=
PRIVATE_VAPID_KEY=
DATABASE_URL=
BUCKET_NAME=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
STRIPE_SECRET_KEY=
The JWT secret can be whatever password you like, we suggest you generate a random one. You can generate the VAPID key pair with this web app. The database URL is a PostgreSQL connection URL with this schema postgresql://user:password@domain:port/dbname
. The Bucket name is the name of your S3 bucket.
- Create credentials: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/getting-your-credentials.html
- create the new account, with access type programmatic access
- attach to the account the policy AmazonS3FullAccess and the policy AmazonSESFullAccess
- Save credentials locally: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-shared.html
- copy the credentials in the
.env
file
TODO: SES setup and S3 setup TODO: Stripe setup
To create the database structure needed just run the setupDatabase
script:
yarn setupDatabase
or
npm run setupDatabase
To start the development server:
yarn dev
or
npm run dev
To start the production server (the code gets transpiled and then run, instead of using the Babel interpreter):
yarn start
or
npm start
TBD
We are open to any contribution, just send us a pull request.
You can run the automated tests using the test
script, be aware that the tests do load data on both the S3 bucket and the database and that the database is automatically cleaned before the tests, so you should run tests on a dedicated database (you should always run tests on a dedicated database, but in this case you really should).
yarn test
or
npm run test
If you need something that Igloo does not support at the moment, please open an issue and we will discuss whether it fits the project.
TBD
See the LICENSE file for license rights and limitations (MIT).