Giter Site home page Giter Site logo

no-bytes / eshoponabp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abpframework/eshoponabp

0.0 0.0 0.0 20.76 MB

Reference microservice solution built with the ABP Framework and .NET, runs on Kubernetes with Helm configuration, includes API Gateways, Angular and ASP.NET Core MVC applications, PostgreSQL and MongoDB databases

License: MIT License

Shell 1.08% JavaScript 1.94% C# 78.00% PowerShell 2.91% TypeScript 4.55% CSS 0.82% HTML 6.02% Smarty 0.19% Dockerfile 4.43% SCSS 0.06%

eshoponabp's Introduction

eShopOnAbp

This is a reference project for those who want to build microservice solutions with the ABP Framework.

See the blog post for more info.

Live demo ๐Ÿ‘‰ https://www.eshoponabp.com/

Issues

Please open issues on the main GitHub repository: https://github.com/abpframework/abp/issues

How to Run?

You can run it in Visual Studio or use Microsoft Tye. Tye is a developer tool that makes developing, testing, and deploying micro-services and distributed applications easier.

Requirements

  • .NET 7.0+
  • Docker
  • Yarn

Instructions

  • Clone the repository ( eShopOnAbp )

  • Install Tye (follow these steps)

  • Rename .env.example file to .env file and provide PayPal ClientID and Secret.

  • Execute run-tye.ps1

  • Wait until all applications are up!

    • You can check the running application from tye dashboard (localhost:8000)
    • Note: If you see all of your applications keep restarting on tye dashboard or tye console, you may be facing SSL certificate issues. To diagnose the problems better, check any application logs. If it is related to SSL, developer certificate creation may have failed because of Powershell issues regarding authorization. Check the PowerShell script running configuration and set the policy for your local machine as follows:
     Get-ExecutionPolicy -list
     Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

    See Microsoft Powershell documentation for more information.

  • After all your backend services are up, start the angular application:

    cd apps/angular
    yarn start

Certificate Expiration

If the certificate is expired, you'll see the following error:

Generating a new certificate will fix that issue. To generate a new one,

  • Remove etc/dev-cert/localhost.pfx

  • Manually execute create-certificate.ps1 or re-run solution with run-tye.ps1

Roadmap

Version 1.0

  • New blank micro-service solution โœ”๏ธ
  • Creating Deployment Scenarios โœ”๏ธ
  • Creating empty business services โœ”๏ธ
  • Implementing business logic into services โœ”๏ธ
    • Payment with PayPal โœ”๏ธ
    • Basket, Catalog, Order Service โœ”๏ธ
  • Docker Image creation โœ”๏ธ
  • Helm deployment for local k8s cluster โœ”๏ธ
  • Switch Ocelot to Envoy YARP in Public Web gateway โœ”๏ธ
  • Use gRPC for catalog microservice โœ”๏ธ
  • Management Side of Services โœ”๏ธ
  • Administration application (to manage products and orders with a dashboard) โœ”๏ธ
  • Deployment to azure k8s โœ”๏ธ (https://eshoponabp.com)

Version 2.0

  • Product-detail page on the shopping application (with CMS-kit integration for comments and rating components) โœ”๏ธ
  • Switch to Keycloak from IdentityServer in AuthServer
  • Re-design authorization/permission management
  • Integrate a new sample microservice written in GoLang (Or Python / Java)

Documentation

  • We will create an e-book to explain the solution

Current Architecture

eSopOnAbp Phase 1

ABP Community Talks

We've organized a meetup related to this solution. You can watch it here: https://community.abp.io/events/microservice-development-iv7d46ov

eshoponabp's People

Contributors

gterdem avatar enisn avatar malikmasis avatar skoc10 avatar hikalkan avatar mahmut-gundogdu avatar bnymncoskuner avatar maliming avatar gokhansengun avatar masumulu28 avatar xyfy avatar ebicoglu avatar afresh avatar muhammedaltug avatar marjani avatar jesn avatar jflaga avatar realliangshiwei avatar

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.