Skip to content

Configuration Driven Development (CDD) while at the beach!

License

Notifications You must be signed in to change notification settings

andrewevans0102/sandbar2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sandbar

beach

This project is an example of Configuration Driven Development (CDD). This accompanies Andrew and Ram's talk Configuration Based Development Approach - Andrew Evans & Ram Ramkumar w/CapTech.

For a copy of our presentation please see the "presentation" folder in this project.

This project also has an accompanying set of APIs that are hosted as Azure Functions. To see those in action, please check out the repo boardwalk.

This project has multiple branches that show how you can iterate from a "traditonal" project over to one that is done with CDD.

  • branch master is the final product with CDD
  • branch level-0 is a basic project with no CDD
  • branch level-1 is a refactor of the project available at level-0 to include the addition of some modular components and the start of CDD
  • branch level-2 is a final refactor of level-0 with full use of CDD

Running Locally

This project uses Azure Functions and Cosmos DB as the backend. Please go to our project boardwalk for the source code for those.

To run this project with a backend, you'll need to deploy the project's functions to Azure (or at least run them locally). Either way, once you have the functions running locally or deployed in Azure, you'll need to add the API prefix (base URL for your functions) to the file at /src/index.js as you see here:

// when your backend is deployed, here is where you put the API prefix
const DEV_API_PREFIX = "<YOUR_API_PREFIX_GOES_HERE>";
const initialState = {};
const { persistor, store } = configureStore(initialState);

axios.interceptors.request.use(
    function (config) {
        config.url = DEV_API_PREFIX + config.url;
        return config;
    },
    function (error) {
        return Promise.reject(error);
    }
);

Project Images

  • beach1.jpg was found here
  • beach3.jpg was found here
  • beach4.jpg was found here
  • beach5.jpg was found here
  • beach6.jpg was found here
  • beach7.jpg was found here
  • beach8.jpg was found here
  • beach9.jpg was found [here

Special Thanks

In addition to everyone that attended our meetup, we also want to give a special shoutout to Patrick Youells for introducing us to the CDD concept! The methods used in this project draw inspiration from work we have done on previous projects together.


About

Configuration Driven Development (CDD) while at the beach!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published