Giter Club home page Giter Club logo

bookstore's Introduction

Rhetos - A DSL platform

Rhetos is a DSL platform for Enterprise Application Development. It extends the modern .NET technology stack with advanced programming paradigms: declarative programming, metaprogramming and AOP.

  • Rhetos enables developers to create a Domain-Specific Programming Language and use it to write their applications.
  • There are libraries available with ready-to-use implementations of many standard business and design patterns or technology integrations.

Rhetos works as a compiler that generates C# code, SQL, and other source files, from the application model written in the DSL scripts.

  • The generated application is a standard business application based on Microsoft .NET technology stack.
  • Rhetos is focused on the back-end development: It generates the business logic layer (C# object model), the database and the web API (REST, SOAP, etc.).
  • The database is not generated from scratch on each deployment, it is upgraded instead, protecting the existing data.

Rhetos comes with the CommonConcepts DSL package, a programming language extension that contains many ready-to-use features for building applications.

IntelliSense and syntax highlighting is available for Visual Studio, Visual Studio Code, SublimeText3 and Notepad++.

Documentation and samples

See Rhetos wiki for more information on:

Visit the project web site at rhetos.org.

License

The code in this repository is licensed under version 3 of the AGPL unless otherwise noted. Please see License.txt for details.

How to contribute

Contributions are very welcome. The easiest way is to fork this repo, and then make a pull request from your fork. The first time you make a pull request, you may be asked to sign a Contributor Agreement. For more info see How to Contribute on Rhetos wiki.

Building the source code

Note: Rhetos NuGet packages are already available at the NuGet.org online gallery. You don't need to build it from source in order to use it in your application.

To build the source, run Clean.bat and Build.bat. The build output files are NuGet packages in the dist subfolder.

Testing

Initial setup (required for integration tests):

  • Create an empty database (for example, "Rhetos" database on "localhost" SQL Server instance).
  • Create a local setting file test\CommonConcepts.TestApp\local.settings.json with the following content, and modify the connection string to match your server instance and database:
    {
      "ConnectionStrings": {
        "RhetosConnectionString": "Data Source=ENTER_SQL_SERVER_NAME;Initial Catalog=ENTER_RHETOS_DATABASE_NAME;Integrated Security=true;"
      }
    }

To execute the unit tests and the integration tests, run Test.bat.

Visual Studio Solutions

Rhetos.sln contains the source for Rhetos framework and CommonConcepts plugins (a standard library for Rhetos DSL). It also contains unit tests for the projects.

CommonConceptsTest.sln contains the integration tests for DSL concepts in CommonConcepts. After changing the framework code in Rhetos.sln, you will need to run Build.bat and Test.bat, before you can develop the related integration tests in CommonConceptsTest.sln. CommonConceptsTest depends on Rhetos NuGet packages that are created and provide by those scripts.

bookstore's People

Contributors

bantolov avatar ibarban avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

bookstore's Issues

LocalDB for faster development environment setup

We should try using LocalDB to create a local database (in Build.ps1) for simpler development environment setup, and use a predefined connection string.
The database file might be created inside the project's working folder, to help cleanup the unused stuff from the developer's computer after the demo application is no longer needed.

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.