It's an all-in-one system for businesses and organizations that do things the right way. Batteries are included - manage your website, mailing list, store, and reporting all in one. It's free.
There are tons of good systems out there. Inkshop sticks out because it's people-focused. It treats you, your customers, and your visitors like people, not data points.
That means no creepy tracking, no big-data segmentation, and encryption baked-in to provide strong privacy protection for both you and your customers.
Feedback, improvements, and contributions are welcome. :)
Note on naming: It's entirely possible this project will be renamed Shopmonsters. And have monsters. We'll see. :)
When it's at 1.0, this project will let you:
It won't ever let you:
Some core principles that set it apart:
Real email.
Engaged subscription, built on active, positive consent and auto-unsubscribing.
Get amazing deliverability and response by sending emails only to people who have shown you that they're interested and want to keep hearing from you.
Fast.
Built around the very best practices, and without all the bulk of tracking software, your site renders fast. Like you won't see the screen refresh fast. On mobile and desktop.
Complete.
One of the big trends has been having a specialized system for everything, and plugging them into each other. But that means your and your customer's data is spread out in a dozen places you can't control. Inkshop bucks that trend, and puts everything you need in one user-friendly place.
Compliant.
Inkshop does things the right way, and so you'll automatically comply with current - and future - privacy regulation.
I'm bootstrapping this project on my own site, Ink and Feet. It's currently running my mailing list on it (but not my site yet). However, unless you're a professional programmer or super risk tolerant, I wouldn't advise you move your list over to it just yet. It's been two weeks. Give it at least a month or two. :)
You can read more about the decision to move to inkshop in this open letter.
I'll be moving from a setup with:
Right now, it handles:
git clone https://github.com/inkandfeet/inkshop.git
cd inkshop
cp env.sample .env
# Edit .env with your values
cp initial_data.yml.sample initial_data.yml
# Edit initial_data.yml with your basic information.
docker network create inkshop
docker-compose run db bash
$ createdb inkshop -h db -U $POSTGRES_USER
# Set up testing frameworks
npm i -g cypress @4tw/cypress-drag-drop
npm i
# Load your initial data
docker-compose run inkshop python3 manage.py migrate
docker-compose run inkshop python3 manage.py load_initial_data
docker-compose up
Tests are wrapped with polytester.
One-offs:
docker-compose run inkshop pt
Development:
docker-compose run inkshop pt --autoreload
Cypress (all e2e tests besides purchase)
# npx run cypress
cypress open
Puppeteer (purchase e2e tests with Stripe's test servers)
node tests/puppeteer/purchase_sprint.js
node tests/puppeteer/purchase_nobullshit.js
Ontraport:
python3 manage.py import_ontraport_csv --subscribers subscribers.csv --hard_bounce hard_bounces.csv --newsletter my-newsletter
Next Small Projects:
Big Projects:
Repackage for production w/ Docker/self-hosting? See this issue https://github.com/caktus/dockerfile_post/
How are replies in app handled? Prior art
Structure for GDPR dump. JSON? Zip?
Structure for full-system export/import. JSON? Zip?
Import flow for people who don't have double-opt-in records.
Editor / cleanup in clubhouse. Look at https://alloyeditor.com/
Implement filtering, to make sure no data escapes: https://docs.djangoproject.com/en/1.11/howto/error-reporting/#filtering-error-reports