The goal is to avoid the need for WordPress and/or Prismic like services.
I think the core building blocks (django models) should be pages and posts.
Pages
allow nested hierarchy
user sortable (?)
Posts
Posts have custom a "content type" that define the fields
Repeater fields. Ex. a Case Study post type which has a "slides" repeater field. Each slide has Title, Body, Image fields.
A Blog post type should be available by default (or perhaps is the base that all Custom Post Types build from?)
A WYSIWYG body/textare field type, which allows embedding images.
Other field types: boolean, date, text field, image
Slugs
Posts and Pages should have unique slugs so our front-end apps can have URLs like: pwa-starter.com/events/cory-goes-to-hollywood
I believe we have this for enginesearch or another project where the slug field was auto-populated based on the title, but was also editable.
Taxonomy
Posts can have a category (limited to 1?)
Posts can have many tags (several client apps with tagging we can pull from)
Filtering
Posts are filterable and order-able by dates (get posts between dates, before date, after date)
Posts are filterable by category and tags
Filtering by tags (do we support AND, OR or both?)
Any of these filters can be combined (AND), ex. Posts newer than data AND tagged with tagx
Text search
Pretty easy with django vectors. (Aliviado is a good example)
Internationalization
Should be considered from the beginning. Even if we don't launch with internationalization, we should have a plan for how to add it, so we don't create more work for ourselves later.
Please comment with any additions, changes, ideas you have and I can update this description as we go.
The goal is to avoid the need for WordPress and/or Prismic like services.
I think the core building blocks (django models) should be
pages
andposts
.Pages
Posts
Slugs
pwa-starter.com/events/cory-goes-to-hollywood
Taxonomy
Filtering
tagx
Text search
Internationalization Should be considered from the beginning. Even if we don't launch with internationalization, we should have a plan for how to add it, so we don't create more work for ourselves later.