Cofoundry is an open source .NET application framework and content management platform. Whilst content management and website tools are a large part of Cofoundry, the functionality is entirely optional and our base framework is available to you to use in any application that references .NET Standard 2.0.
We see the role of developing an application as very separate from managing content and so we don't squeeze everything into the same management GUI, instead we focus on modular and extensible code-first tools for building sites and a simple, clean interface for managing them.
Cofoundry is designed to work with a wide range of content. We have the usual pages, images and documents you'd expect from a CMS, but we also include a flexible custom entity framework that lets you easily define data types like products, stores, categories or events.
Page templates are just ASP.Net Razor views with strongly typed view modules so you have complete freedom to develop the front-end however you want. Editable content regions can be added anywhere and configured with content type restrictions. This gives you a sliding scale as to whether you give content editors free-form flexibility to create highly customized pages or lock them down so they can't break your designs.
Content editors benefit from inline page editing which makes it really easy to see what's being changed and what impact it will have on the design and flow of the page.
Cofoundry includes many tools, helpers and abstractions to solve problems that are common to many applications such as sending mail, running background tasks, applying updates automatically and managing files.
Also included are tools and helpers that represent our approach to structuring code such as our CQS framework, modular registrations and WebApi helpers. We realize however that development style and architecture can be a personal choice and so we keep their use optional.
The aim is for Cofoundry to augment your existing development skills, without getting in the way of building an application with the tools and methodologies you know.
It's impossible to build a framework that accounts for all eventualities and so with Cofoundry we make it easy for you to integrate your own tools and to extend our base framework.
Dependency injection is used everywhere which not only lets you replace any of our implementations, but also lets you inject your favorite tools into our framework.
We also have extensibility points that let you modularize your code and easily build self-registering plugins that extend or override behavior without requiring complicated configuration. For example you can use plugins to make your site cloud compatible, swap in your preferred logging framework or add extra features to your site.
Getting to know Cofoundry
Using the sample projects
To get a flavor for how Cofoundry works, we suggest you check out one of the Sample Projects. This will give you an idea of how all the basic parts sit together before you get started on your own implementation.
Community & Feedback
Need help, got a question or want to give us some feedback? We're keen to hear from you! Find out how to get in touch