├── .gitignore ├── .prettierignore ├── .prettierrc ├── .travis.yml ├── README.md ├── index.html ├── jest.config.js ├── kopter-example ├── .babelrc ├── .env ├── .gitignore ├── app.js ├── kopter.config.js ├── package.json └── yarn.lock ├── package.json ├── src ├── Kopter.js ├── __tests__ │ ├── __snapshots__ │ │ ├── login.spec.js.snap │ │ ├── password.resets.spec.js.snap │ │ └── registration-subscriptions.spec.js.snap │ ├── kopter.spec.js │ ├── login.spec.js │ ├── middleware │ │ └── jwt-auth.spec.js │ ├── password.resets.spec.js │ ├── registration-subscriptions.spec.js │ └── test-utils │ │ ├── clear-registered-models.js │ │ ├── generate-fake-user.js │ │ └── setup-env.js ├── billing-providers │ ├── braintree.js │ ├── flutterwave.js │ ├── paystack.js │ └── stripe.js ├── bin │ ├── commands │ │ ├── init.js │ │ └── workers.js │ ├── kopter.commander.js │ └── templates │ │ └── server │ │ ├── .env │ │ ├── .gitignore │ │ ├── app.js │ │ ├── kopter.config.js │ │ └── package.json ├── controllers │ ├── login.controller.js │ ├── password.resets.controller.js │ ├── register.controller.js │ ├── stripe-webhooks.controller.js │ └── subscription.controller.js ├── index.js ├── interactions │ └── billing │ │ └── subscribe.interaction.js ├── mails │ ├── confirm-email │ │ ├── confirm-email.html.hbs │ │ └── confirm-email.text.hbs │ └── password-reset │ │ ├── password-reset.html.hbs │ │ └── password-reset.text.hbs ├── middleware │ └── jwt-auth.js ├── models │ ├── notification.model.js │ ├── password.reset.model.js │ ├── subscription.model.js │ └── user.model.js ├── notification-channels │ ├── database.js │ └── mail.js ├── services │ ├── billing.service.js │ ├── mail.service.js │ ├── notification.service.js │ ├── password.reset.service.js │ └── user.service.js ├── utils │ ├── async-request.js │ ├── autobind.js │ ├── constants.js │ ├── copy-files.js │ ├── extend-schema.js │ └── status-codes.js └── workers │ └── queue.worker.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /coverage/ 3 | /dist/ 4 | .DS_Store 5 | yarn-error.log 6 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | coverage/ 2 | dist/ 3 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/.prettierrc -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/README.md -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/index.html -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/jest.config.js -------------------------------------------------------------------------------- /kopter-example/.babelrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/kopter-example/.babelrc -------------------------------------------------------------------------------- /kopter-example/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/kopter-example/.env -------------------------------------------------------------------------------- /kopter-example/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ -------------------------------------------------------------------------------- /kopter-example/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/kopter-example/app.js -------------------------------------------------------------------------------- /kopter-example/kopter.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/kopter-example/kopter.config.js -------------------------------------------------------------------------------- /kopter-example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/kopter-example/package.json -------------------------------------------------------------------------------- /kopter-example/yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/kopter-example/yarn.lock -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/package.json -------------------------------------------------------------------------------- /src/Kopter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/Kopter.js -------------------------------------------------------------------------------- /src/__tests__/__snapshots__/login.spec.js.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/__snapshots__/login.spec.js.snap -------------------------------------------------------------------------------- /src/__tests__/__snapshots__/password.resets.spec.js.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/__snapshots__/password.resets.spec.js.snap -------------------------------------------------------------------------------- /src/__tests__/__snapshots__/registration-subscriptions.spec.js.snap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/__snapshots__/registration-subscriptions.spec.js.snap -------------------------------------------------------------------------------- /src/__tests__/kopter.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/kopter.spec.js -------------------------------------------------------------------------------- /src/__tests__/login.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/login.spec.js -------------------------------------------------------------------------------- /src/__tests__/middleware/jwt-auth.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/middleware/jwt-auth.spec.js -------------------------------------------------------------------------------- /src/__tests__/password.resets.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/password.resets.spec.js -------------------------------------------------------------------------------- /src/__tests__/registration-subscriptions.spec.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/registration-subscriptions.spec.js -------------------------------------------------------------------------------- /src/__tests__/test-utils/clear-registered-models.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/test-utils/clear-registered-models.js -------------------------------------------------------------------------------- /src/__tests__/test-utils/generate-fake-user.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/test-utils/generate-fake-user.js -------------------------------------------------------------------------------- /src/__tests__/test-utils/setup-env.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/__tests__/test-utils/setup-env.js -------------------------------------------------------------------------------- /src/billing-providers/braintree.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/billing-providers/flutterwave.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/billing-providers/paystack.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/billing-providers/stripe.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/billing-providers/stripe.js -------------------------------------------------------------------------------- /src/bin/commands/init.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/bin/commands/init.js -------------------------------------------------------------------------------- /src/bin/commands/workers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/bin/commands/workers.js -------------------------------------------------------------------------------- /src/bin/kopter.commander.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/bin/kopter.commander.js -------------------------------------------------------------------------------- /src/bin/templates/server/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/bin/templates/server/.env -------------------------------------------------------------------------------- /src/bin/templates/server/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | .env 3 | -------------------------------------------------------------------------------- /src/bin/templates/server/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/bin/templates/server/app.js -------------------------------------------------------------------------------- /src/bin/templates/server/kopter.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/bin/templates/server/kopter.config.js -------------------------------------------------------------------------------- /src/bin/templates/server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/bin/templates/server/package.json -------------------------------------------------------------------------------- /src/controllers/login.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/controllers/login.controller.js -------------------------------------------------------------------------------- /src/controllers/password.resets.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/controllers/password.resets.controller.js -------------------------------------------------------------------------------- /src/controllers/register.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/controllers/register.controller.js -------------------------------------------------------------------------------- /src/controllers/stripe-webhooks.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/controllers/stripe-webhooks.controller.js -------------------------------------------------------------------------------- /src/controllers/subscription.controller.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/controllers/subscription.controller.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/index.js -------------------------------------------------------------------------------- /src/interactions/billing/subscribe.interaction.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/interactions/billing/subscribe.interaction.js -------------------------------------------------------------------------------- /src/mails/confirm-email/confirm-email.html.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/mails/confirm-email/confirm-email.html.hbs -------------------------------------------------------------------------------- /src/mails/confirm-email/confirm-email.text.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/mails/confirm-email/confirm-email.text.hbs -------------------------------------------------------------------------------- /src/mails/password-reset/password-reset.html.hbs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/mails/password-reset/password-reset.html.hbs -------------------------------------------------------------------------------- /src/mails/password-reset/password-reset.text.hbs: -------------------------------------------------------------------------------- 1 | # Hi {{ user.email }}! reset your password. 2 | -------------------------------------------------------------------------------- /src/middleware/jwt-auth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/middleware/jwt-auth.js -------------------------------------------------------------------------------- /src/models/notification.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/models/notification.model.js -------------------------------------------------------------------------------- /src/models/password.reset.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/models/password.reset.model.js -------------------------------------------------------------------------------- /src/models/subscription.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/models/subscription.model.js -------------------------------------------------------------------------------- /src/models/user.model.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/models/user.model.js -------------------------------------------------------------------------------- /src/notification-channels/database.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/notification-channels/database.js -------------------------------------------------------------------------------- /src/notification-channels/mail.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/notification-channels/mail.js -------------------------------------------------------------------------------- /src/services/billing.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/services/billing.service.js -------------------------------------------------------------------------------- /src/services/mail.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/services/mail.service.js -------------------------------------------------------------------------------- /src/services/notification.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/services/notification.service.js -------------------------------------------------------------------------------- /src/services/password.reset.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/services/password.reset.service.js -------------------------------------------------------------------------------- /src/services/user.service.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/services/user.service.js -------------------------------------------------------------------------------- /src/utils/async-request.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/utils/async-request.js -------------------------------------------------------------------------------- /src/utils/autobind.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/utils/autobind.js -------------------------------------------------------------------------------- /src/utils/constants.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/utils/constants.js -------------------------------------------------------------------------------- /src/utils/copy-files.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/utils/copy-files.js -------------------------------------------------------------------------------- /src/utils/extend-schema.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/utils/extend-schema.js -------------------------------------------------------------------------------- /src/utils/status-codes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/utils/status-codes.js -------------------------------------------------------------------------------- /src/workers/queue.worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/src/workers/queue.worker.js -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bahdcoder/kopter/HEAD/yarn.lock --------------------------------------------------------------------------------