Skip to content

Our-Company-Ltd/our.orders

Repository files navigation

Our Orders logo
Our Orders ♥

e-shop on .net core

GitHub license Twitter

Our Orders is a new, fully featured, cross-platform e-Commerce solution running on .Net.

Implement a shop in minutes on an existing website. With an easy and intuitive user interface, Our Orders can be used both as a vending platform in a physical shop and as an online sales tool. Aiming to be a full featured tools, it has been designed to be easily extended to fit all possible scenario.

Features

  • Dashboard with clean graphs to understand the sales over time
  • Products, subproducts and options.
  • Taxes: global and per product included and excluded taxes.
  • Multiple shipping methods
  • Multiple currencies
  • Multiple database format: all supported by Entity Framework (SQL, SQLite, etc...), MongoDB, etc...
  • Multiple payment platforms: Cash, Paypal, Stripe, PostFinace etc... out of the box and possibility to add custom of your choice
  • Dispatch and stock management
  • User management, assigned sales and roles support
  • One click add to MailChimp, Campaign monitor or other newsletter services
  • Multiple shops and warehouses
  • Vouchers management
  • Reciept, invoice and other sales documents export using custom templates
  • HTML5 Web app support, no page reload, optimised for touch screen.
  • Web API and cart support

Installation

  1. Install Package
    Use the Our.Orders NuGet package manager inside Visual Studio, Xamarin Studio, or run the following command: Package Manager Console:
PM> Install-Package Our.Orders

.Net CLI:

dotnet add package Our.Orders
  1. Add to startup
public void ConfigureServices(IServiceCollection services)
{
  ...
  services
    .AddOurOrders()
    .UseEntityFramework(options => options.UseSqlite("Data Source=our.orders.db"));
  ...
}

public void Configure(IApplicationBuilder app, ...)
{
  ...
  app.UseOurOrders();
  ...
}
  1. First run
    launch the webiste and access Our Orders on the path /orders create the first user and you are good to go !

Configuration

The configuration can be modified either using the appsettings.json file by sending an IConfiguration (typicaly injected in the Startup.cs constructor) or using a configuration lambda passed upon adding Our Orders in ConfigureServices.

using appsettings.json

// appsettings.json
{
 "our-orders" : {
  "Path": "my-custom-path",
  "JwtSecret": "my custom secret key"
 }
}
// Startup.cs
public class Startup
{
  ...
  public IConfiguration Configuration { get; }
  ...
  public Startup(IConfiguration configuration , ...)
  {
    ...
    Configuration = configuration;
    ...
  }
  ...
  public void ConfigureServices(IServiceCollection services)
  {
    ...
    services
       .AddOurOrders(Configuration)
    ...
  }
  ...
}

using lambda

// Startup.cs
public class Startup
{
  ...
  public IConfiguration Configuration { get; }
  ...
  public Startup(IConfiguration configuration , ...)
  {
    ...
    Configuration = configuration;
    ...
  }
  ...
  public void ConfigureServices(IServiceCollection services)
  {
    ...
    services
      .AddOurOrders((settings) => {
        settings.Path = "my-custom-path";
        settings.JwtSecret = "my custom secret key";
      })
    ...
  }
  ...
}

Add newsletter, Paypal, Stripe, custom invoices…

Check the wiki for documentation about configuring in depth Our Orders…

Build Status

Master Develop
Linux/Mac Build Status Build Status

Screens

Our Order screens