"Growing Data Center networking mgmt UI using ClojureScript, Reagent and re-frame" by Kirill Ishanov

Developers build a scalable and maintainable data center networking management UI using ClojureScript, Reagent, and re-frame, sharing insights on component reuse, data state management, and more.

Key takeaways
  • Developers can reuse components across the application.
  • Use of namespace data loop to manage data state.
  • Creating a router to maintain codebase consistency.
  • Using specs for forms and API responses.
  • Organizing codebase into collections, forms, and metadata.
  • Implementing ClojureScript and Reagent for the application.
  • Writing specs for data definition and usage.
  • Managing team and hiring new members.
  • Defining routes using a map and data definition.
  • Creating a container that can take another component as an argument.
  • Using a DSL to define a collection entry.
  • Implementing navigation containers and estate management.
  • Using reagent for views and state management.
  • Defining the goal of the application as similar to the game of golf.
  • Mapping out the route map in the codebase.
  • Focusing on very large data needs in the application.
  • Using macros to reuse code and improve code organization.
  • Creating components that can dispatch data and events.
  • Having a DSL map and namespace keywords.
  • Using reframe for state management.
  • Developing a framework for storing form state data.
  • Implementing automated testing and CI/CD.
  • Migrating to ClojureScript and using it for domain where technology worked.
  • Keeping the route map as dry as possible to avoid complexity.
  • Using multispec to satisfy conditional payloads.
  • Using React lifecycle methods and dependency injection.
  • Having a simple place in the database to store form state.
  • Implementing UI using ClojureScript, Reagent, and re-frame.
  • Using a container to dispatch data and events.
  • Having a DSL map and namespace keywords to prevent naming collisions.
  • Mapping out the route map in the codebase.
  • Implementing a router and using a map to describe the data structure.
  • Creating a container that can take another component as an argument.
  • Using macros to reuse code and improve code organization.
  • Creating components that can dispatch data and events.
  • Using reagent for views and state management.
  • Defining the goal of the application as similar to the game of golf.