Skip to main content

Overall new feature

Below are the steps to do for all features on any site.

Sorry, I feel harmful when using "I" instead of "we" in almost all documents here, but this is my personal project.

Data structure

All data are the same as the basic CRUD operations. Some other special data have some more requirement

Consider the following things:

  • Do I need a feature flag (how big is this feature)?
  • How to structure the required data and the relationship between data. The timestamp is MUST.
  • Do I need real-time?
  • Do I need to run any migration?
  • Who will be able to read the data?
  • Who will be able to write the data?
  • Do I need soft delete?
  • Do I need any reports? What metrics will I want to keep my eye on it?

The output of this step should include:

  • Data model with the data converter
  • Firestore Security rules or Hasura metadata
  • Nice to have: data flow documentation

API

The next step output should be:

  • Client-side hooks to get or update the data
  • Server-side (if needed) code including listener, migrations, cronjob.

UI

This is the last step which will start from the UI components using Storybook.