Git Product home page Git Product logo

extcore-sample's Introduction

ExtCore 1.0.0-alpha901 Sample

Introduction

ExtCore is free, open source and cross-platform framework for creating modular and extendable web applications based on ASP.NET Core. It is built using the best and the most modern tools and languages (Visual Studio 2015, C# etc). Join our team!

ExtCore allows you to decouple your application into the modules (or extensions) and reuse that modules in other applications in various combinations. Each ExtCore extension may consist of one or more projects and each project may include everything you want (as any other ASP.NET Core project). Controllers, view components, views (added as resources and/or precompiled), static content (added as resources) will be resolved automatically. These projects (extension pieces) may be added to the application directly as dependencies in project.json of your main application project (as source code or NuGet packages), or by copying compiled DLL-files to the Extensions folder. ExtCore supports both of these approaches out of the box and at the same time.

By default, ExtCore doesn’t know anything about data and storage, but you can use ExtCore.Data extension to have unified approach to working with data and single storage context. It supports Microsoft SQL Server, PostgreSql and SQLite, but it is very easy to add another storage support.

You can find more information using the links at the bottom of this page.

Quick Start

All you need to do to have modular and extendable web application is:

  • add ExtCore.WebApplication as dependency to your main application project;
  • inherit your main application’s Startup class from ExtCore.WebApplication.Startup;
  • add ExtCore.Infrastructure as dependency to each of your extension projects;
  • implement ExtCore.Infrastructure.IExtension interface for each of your extensions (optional);
  • tell main application about the extension.

Samples

Please take a look at this sample.

You can also download our ready to use sample. It contains everything you need to run ExtCore-based web application from Visual Studio 2017, including SQLite database with the test data.

extcore-sample's People

Contributors

f7q avatar

Watchers

James Cloos avatar  avatar

extcore-sample's Issues

NET Core RTM Update

ExtCore Sample RC2 -> 1.0 RTM

  • Use EntityFramework
  • Use Swagger On Release RTM
  • Use Logger On Release RTM
  • Use ExtCore bata9

NLogのConfig File配備

WebApplcation.dllの配下にnlog.configがある。

./WebApplication.dll
./nlog.config
./Extention/WebApplication.ALogger.dll

⬇️

./WebApplication.dll
./Extention/WebApplication.ALogger.dll
./Extention/Config/nlog.config

Sample CustomSchemaIds

Use CustomSchemaIds and Type Class FullName.

https://github.com/f7q/ExtCore-Sample/blob/dev/src/WebApplication.Swagger/Swagger.cs#L66-L82

public void ConfigureServices(IServiceCollection services)
{
  services.AddSwaggerGen();
  services.ConfigureSwaggerGen(options =>
  {
    options.SingleApiVersion(new Info
    {
      Version = "v1",
      Title = "A simple API",
      Description = "A simple api",
      TermsOfService = "None"
    });
    options.DescribeAllEnumsAsStrings();
    
    options.CustomSchemaIds(type => type.FullName); // here
  });
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.