This project is a combination of Strapi.js Headless CMS and some python scripts for ingesting relevant data.
- Node.JS - Latest 10.x release. I reccomend using nvm to install node so you can easily switch between versions of node.
- Yarn Package Manager - A fast javascript package manager
- Strapi.js - A headless CMS and admin console for managing content
- Python 3.7.4
- pipenv
- Docker
- Docker Compose
- Once all system dependencies are installed you must startup mongodb as the database backing Strapi. We use docker compose to start it inside a container.
$ docker-compose up
- Now we can startup strapi admin console and API's. We do this in watch mode so that changes automatically hot reload.
$ strapi develop
- You can now go to the Strapi Admin console in you browser at http://localhost:1337/admin
- You will need to create an admin user if it is you first time using that environment
- Check out the auto-generated Swagger/OpenAPI documentation and play around with the API by going to http://localhost:1337/documentation/v1.0.0
- Install python library dependencies
$ pipenv sync
- Spawn a virtualenv python shell
$ pipenv shell
- Copy the .env.example file to .env so that the environment variables are set
$ cp ./env.example .env
- Run the ingestion script to populate a few hundred samples resources
$ python ./ingest/scripts/ingest_resources_csv.py