A FeathersJS sandbox environment. This is used to test some of our in-house packages, such as those seen in @fmbm/feathers.
This sandbox uses different database adapters. This ensures that things we build for FeathersJS are as database agnostic as possible.
Additionally, the sandbox is containerized. Allowing anyone to spin this up, without having to install things like mysql/postgress/mongodb/etc. It'll also play nicely with things like GitHub Codespaces.
Below is a list of the current database adapters we've setup and containerized.
Database | Adapter | Service |
---|---|---|
MySQL | feathers-sequelize | books-mysql |
MongoDB | feathers-mongodb | books-mongodb |
Solr | feathers-solr | books-solr |
Containerization is done primarily through Docker, using Docker Compose. There are currently 4 containers. One for each database and one for FeathersJS itself.
For more information, check the docker-compose.yml file.
Depending on your workflow, you may want to use Docker directly, or debug using VSCode.
docker-compose up -d
First, install the Remote Containers extension. Now, when opening this repo in VSCode, you'll be prompted to "Re-Open in Container".
This will have several advantages, including full IntelliSense (completions), code navigation, and debugging (read more).
Pro Tip: When debugging with VSCode (after completing setup above), you can easily run "Debug: Attach to Node Process" to attach VSCode's built in debugger to the container. This will allow you to add breakpoints and much more, since we've included
--inspect
in ouryarn dev
command in package.json.