🏠 Homepage
Bring the power of two awesome open source system together. It comes preloaded with the plugins that you need kick start medusa. This is a batteries included implementation so that you can get down writing your customisations
npx create-strapi-app strapi-medusa --template https://github.com/Kyle772/strapi-medusa-template.git
Strapi comes with a full featured Command Line Interface (CLI) which lets you scaffold and manage your project in seconds.
Start your Strapi application with autoReload enabled. Learn more
npm run develop
# or
yarn develop
Start your Strapi application with autoReload disabled. Learn more
npm run start
# or
yarn start
Build your admin panel. Learn more
npm run build
# or
yarn build
Strapi gives you many possible deployment options for your project. Find the one that suits you on the deployment section of the documentation.
We've provided a dockerfile and docker compose file build file also for you reference.
These values will need to be sent in your .env file or equivalent enivorment sttings, please generate these keys as per the recommended To know more about how to create the keys please read this (https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/configurations/optional/api-tokens.html#usage)
HOST= PORT= APP_KEYS=,,,
API_TOKEN_SALT= ADMIN_JWT_SECRET=
JWT_SECRET=
Strapi runs as slave to medusajs. It just makes it easier when there is one boss :)
MEDUSA_STRAPI_SECRET=<MEDUSA JWT SECRET, needs to be the same as that used in medusa project config jwt_secret> SUPERUSER_USERNAME= defaults to "SuperUser", SUPERUSER_PASSWORD= defaults to "MedusaStrapi1", SUPERUSER_FIRSTNAME=<firstname, coz strapi loves addressing by firstname> defaults to "Medusa", SUPERUSER_LASTNAME= defaults to "Commerce", SUPERUSER_EMAIL=<you better have an email address or your not from this century :)> defaults to "support@medusa-commerce.com",
All the default values are there too for your refernce.
DATABASE_HOST= DATABASE_PORT= DATABASE_NAME= DATABASE_USERNAME= DATABASE_PASSWORD= DATABASE_SSL= DATABASE_SCHEMA=
Media bucket store big chunks of data that you can't hold in the database, they can be uploaded using upload apis This version comes preinstalled with S3 support
If you are not using AWS then S3_ACCESS_KEY_ID= S3_ACCESS_SECRET_KEY= S3_BUCKET= S3_REGION=
SENTRY_DSN= SENTRY_KEY= SENTRY_API_KEY= SENTRY_WEBHOOK_SECRET=
Search is the most critical part of any content system. This comes preconfigured with melisearch
MEILISEARCH_HOST= MEILISEARCH_MASTER_KEY=
This implementation qcomes preconfigured with redis caching, As medusa already uses redis, it was a reasonable assumption that the same redis service can be used for strapi as well
REDIS_HOST= REDIS_PORT= REDIS_PASSWORD=
Sometimes you've got to just send a message, we've preconfigured this with SENDGRID
SENDGRID_API_KEY= SENDGRID_NOTIFICATION_FROM_ADDRESS=
You can read about other environment settings that strapi provides here
For the full list of routes currently supported by the API
use the command npx strapi routes:list
- Seo
- Strapi-plugin-medusajs
- Users-permissions
- Strapi-plugin-sso
- Upload - via s3 provider
- Email - via sendgrid
- Sentry - troubleshooting
- Meilisearch
- content-versioning (experimental), requires a patch that wasn't released at the time
- strapi-google-translator
- comments
- io
- other mandatory strapi plugins as defined in package.json
- redis
- content security policy
- powered by
- query
- Get doesn't support queries, All entities have to be retrieved by via their corresponing medusa id,
- Unique fields need to be set by medusa, strapi's unique fields feature has been not used.
- Only UID is the strapi provided id. Each strapi id, is mapped to a medusa_id if the data exists in medusa,
- Need to convert to typescript
- Service tests don't check apis that use media types, though api tests cover it all.
- Testing currently limited to APIs not plugins
- Product-option title isn't a required field. We will need to access the product option repository and determine the corresponding title. Happy to accept a PR,with tests
I love developing software and building products that are useful. I sincerely hope you this project helps you. I'm happy to help if you need support setting this up. Give a ⭐️ if this project helped you! Catch me on discord @govdiw
As you might have guessed by now that considerable time and effort has gone into make this product useful to the community at large, and I'd love to keep maintaining and upgrading this. However, As much as we love FOSS software, nothing in this world is truly free. Please help by [sponsoring or supporting the project]. (https://github.com/sponsors/SGFGOV)
- Resource center - Strapi resource center.
- Strapi documentation - Official Strapi documentation.
- Strapi tutorials - List of tutorials made by the core team and the community.
- Strapi blog - Official Strapi blog containing articles made by the Strapi team and the community.
- Changelog - Find out about the Strapi product updates, new features and general improvements.