Set it up yourself
Video tutorial: coming soon (hopefully ;-))
0. Prepare
Please open the developer tools of your browser (Tutorial: Chrome, Firefox), we'll need them in the next steps to monitor requests.
Info: The following settings will be stored automatically in your browser storage, you can delete them anytime (see footer button "Delete local browser storage").
1. Google Drive Spreadsheet Template 📝
Collect educational resources together with a simple web spreadsheet, I prepared a simple template:
Clone it
View template
After you duplicated this spreadsheet, publish the spreadsheet ("File -> Publish in Web"). Close the publish dialogue. Afterwards you can use your spreadsheet-ID in the next steps.
2. Setup your own Elasticsearch index 🗄
Elasticsearch is an open source database technology which allows fast and flexible data collection.
Create your own instance, for example at one of these providers:
There are professional cloud providers (Elastic Cloud, AWS, Google, Azure, etc.) for Elasticsearch hosting, but you have to configure a lot more when you set up Elasticsearch there. Elasticsearch is Open Source,
therefore you can of course install it on your own server if you have nerd-superpowers.
3. Elasticsearch authentication 🔑
After you created your first instance, access the security / access information of your instance (some providers auto-generate this, e.g. appbase, on some you have to configure this yourself). Access or create :
- A read-write/admin-key for step 4
- A read-only-key (not all providers provide it on free accounts) for the search UI, this will be used in step 5
2DO: add images/screenshots
Special hint: On bonsai.io you need to create an index first via "PUT /yourindex".
4. Send spreadsheet to index 📝 ➡️ 🗄️
This will perform a one-way-sync from the given Google Drive Spreadsheet to your Elasticsearch instance. The spreadsheet ID will be saved as data field in elasticsearch entries. Before the sync all existing entries with
that spreadsheet ID will be deleted in the given elasticsearch instance (only if you synced data before). Don't worry about that if you're using that on a newly created Elasticsearch, but don't use it for important real-world databases.
This is just a quick & dirty script, no professional product. Use it at your own risk, no warranty given. Admin key might get exposed trough network. Advanced Setup heroku.com scheduled worker (cron
job)
5. Explore the search interface 🗄 ➡️ 🔎
Nice, the data should be in the Elastichsearch index by now. How can users explore it in a nice way? The open source software reactivesearch provides a modern looking search interface for elasticsearch databases, here I prepared a general
interface which works out-of-the-box with the current spreadsheet template:
Advanced:
Fork it and build your own