Giter Site home page Giter Site logo

abpframework / eshoponabp Goto Github PK

View Code? Open in Web Editor NEW
642.0 36.0 245.0 21.5 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

Home Page: https://www.eShopOnAbp.com/

License: MIT License

C# 79.60% PowerShell 2.71% HTML 5.71% JavaScript 1.85% TypeScript 4.37% SCSS 0.05% Dockerfile 3.71% Smarty 0.18% CSS 0.80% Shell 0.99% Batchfile 0.03%
microservices-architecture gateway api-gateway microservices asp-net-core aspnetcore csharp ddd kubernetes spa

eshoponabp's People

Contributors

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

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eshoponabp's Issues

Order payment is made and there is no change in the number of products.

Test Steps:

  1. Product basket is added.
  2. Go to the basket and make the purchase via paypal
  3. The error message is displayed. However, it appears that the payment has been made.

Test Result: Go to the home page and see that although the payment has been made, the count of the product has not changed

6d7978a0-2de6-4f00-b8c6-3756671f09aa
75b37471-d937-49fd-96a5-346461b52cee

Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=5.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'

when clone the source ,and dotnet run in auth-server folder

got an err

 ---> System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=5.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. 系统找不到指定的文件。
File name: 'Microsoft.EntityFrameworkCore, Version=5.0.8.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'

I found the 5.0.7 version in bin ,but not 5.0.8

The catalog service is not loading and so the products page is throwing an error

Hello!

In the Tye dashboard, all the other services are loading fine except for the catalog service. It is throwing an error like so:

This site can’t be reachedlocalhost refused to connect.
Try:

Checking the connection
Checking the proxy and the firewall
ERR_CONNECTION_REFUSED

Is there a firewall configuration that I should implement?

As a result of the catalog service being down, the Products page is throwing an error like so:

An error has occurred!
Http failure response for https://localhost:44354/api/catalog/product/paged: 0 Unknown Error

Best Regards,

Justin

Normalize angular packages and configurations

Description

This issue's purpose is the make angular application stable and keep up to date

Checklist

  • Stable packages
    • @angular/* | @angular-* | @abp/* | typescript packages must be the same with our template
  • Check angular.json file styles must be correct
  • tsconfig paths must be correct
    • Get build all modules

MVC service with keycloak

Hello,

We have added a new service, MVC, and everything is working fine and configured. However, we encountered an issue in the login index. How can we change it to Keycloak and save the token for the CurrentUser?

How can we authenticate user using Keycloak ?

image

Is there any speed solution?

Deploy v2.0-preview

We need to deploy the application after solving the #197 issue.
It can be a pre-release before the Integrate a new sample microservice written in GoLang (Or python/java) step.

Current deployment is using leptonx and re-configuring for IdentityServer will take too much time.

Services keep restarting

Hi Team,

I am working on the AWS x64 instance. I followed the documents here.

After executing tye run, I could see the services running on localhost:8000. However, services keep restarting, as shown below:

eShop_tye_dashboard

Documents suggest that it must be ssl certification issue. However, I could not find ssl issue in the logs on tye dashboard.

Also, I ran the angular application using yarn start. But, the application shows error on the GUI, as below:

eShop_angular_app

Can you please provide pointers on the same.

Findings about the Eshop

Related abpframework/abp#12542

  • Default or public seems too adjacent to the role name.

image

  • There is no need for scroll in this part

image

  • Action text too close to icon. In general, all icons seem to have this situation.

image

  • must be updated with the user name

image

  • In the setting page, a specification has been made above for this field, and it does not seem necessary to display it in this section.

image

  • button name looks wrong

image

  • description text should be updated

image
image
image

  • dropdown looks clickable but has no action when clicked

e3ffc16d-33bf-47f3-a8f9-016eeb56164e

  • It seems more appropriate to display the same products in the top selling list, not with separate names, but with their total in a single line.

image

  • It would be nice to display how many products were purchased in a single order.

image

  • It would be nice to write separately the purchased prices next to the products in the order list.

image

Not able to access the angular application UI

Hi team,

Continuing with our discussion in this ticket < #167 >, we are still facing the issue after yarn start.

We can run yarn start successfully, but are unable to access the angular application on port 4200. Below is the output:

image

As asked by you earlier in the ticket linked above, below are the logs for web gateway and administration services.

  1. Web Gateway: https://github.com/abpframework/eShopOnAbp/files/11734323/logs_webgateway_eshoponabp.txt
  2. Administartion: https://github.com/abpframework/eShopOnAbp/files/11734326/logs_administration_service_eshoponabp.txt

Apart from these two services, I can see errors in some services, that the database “eShopOnAbp_Administration” does not exist, as below:

2023-07-17 11:20:28.864 +00:00 [ERR] An error occurred using the connection to database 'EShopOnAbp_Administration' on server ''. 
2023-07-17 11:20:29.096 +00:00 [ERR] 3D000: database "EShopOnAbp_Administration" does not exist 

These logs can be seen in the ordering and payment services.

Also, found the below error logs in cmskit microservice:

2023-07-17 11:20:36.872 +00:00 [ERR] An exception occurred in the database while saving changes for context type 'EShopOnAbp.AdministrationService.EntityFrameworkCore.AdministrationServiceDbContext'. 
Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while saving the entity changes. See the inner exception for details. 
---> Npgsql.PostgresException (0x80004005): 23505: duplicate key value violates unique constraint "IX_AbpPermissionGroups_Name" 

Can you please provide some pointers on the same? Kindly let us know if you need more information from our side.

Unexpected Casting Error in AbpApplicationConfigurationController.GetAsync after ABP Framework Update to 7.4.3 and .NET 8

After upgrading to ABP Framework version 7.4.3 and migrating to .NET 8, an unexpected casting error occurs in the authorization policy handling when attempting to retrieve application configurations using AbpApplicationConfigurationController.GetAsync.

Error Details:
The error message suggests a casting problem between System.Collections.Generic.Dictionary and System.Collections.Generic.IDictionary, particularly in the method GetPoliciesNames within Microsoft.AspNetCore.Authorization.AuthorizationOptionsExtensions.

Logs:

Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc) - Validation state: Valid
[administration-service_52ba6acd-7]: [15:13:57 ERR] ---------- RemoteServiceErrorInfo ----------
[administration-service_52ba6acd-7]: {
[administration-service_52ba6acd-7]: "code": null,
[administration-service_52ba6acd-7]: "message": "An internal error occurred during your request!",
[administration-service_52ba6acd-7]: "details": null,
[administration-service_52ba6acd-7]: "data": {},
[administration-service_52ba6acd-7]: "validationErrors": null
[administration-service_52ba6acd-7]: }
[administration-service_52ba6acd-7]:
[administration-service_52ba6acd-7]: [15:13:57 ERR] Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Authorization.AuthorizationPolicy]]' to type 'System.Collections.Generic.IDictionary`2[System.String,Microsoft.AspNetCore.Authorization.AuthorizationPolicy]'.
[administration-service_52ba6acd-7]: System.InvalidCastException: Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Authorization.AuthorizationPolicy]]' to type 'System.Collections.Generic.IDictionary`2[System.String,Microsoft.AspNetCore.Authorization.AuthorizationPolicy]'.
[administration-service_52ba6acd-7]: at Microsoft.AspNetCore.Authorization.AuthorizationOptionsExtensions.GetPoliciesNames(AuthorizationOptions options)
[administration-service_52ba6acd-7]: at Volo.Abp.Authorization.AbpAuthorizationPolicyProvider.GetPoliciesNamesAsync()
[administration-service_52ba6acd-7]: at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAuthConfigAsync()
[administration-service_52ba6acd-7]: at Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationAppService.GetAsync(ApplicationConfigurationRequestOptions options)
[administration-service_52ba6acd-7]: at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
[administration-service_52ba6acd-7]: at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
[administration-service_52ba6acd-7]: at Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
[administration-service_52ba6acd-7]: at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)

Steps to Reproduce:

  • Upgrade to ABP Framework version 7.4.3.
  • Migrate to .NET 8.
  • Call the AbpApplicationConfigurationController.GetAsync method.
  • Attempt to retrieve authorization-related configurations.

Any assistance or guidance on resolving this issue in the updated environment would be highly appreciated.

Thank you!

CartWidget Model (basket items) is null on initial load

Initial error:

2023-09-12 13:57:33.671 -04:00 [ERR] Value cannot be null. (Parameter 'input')
System.ArgumentNullException: Value cannot be null. (Parameter 'input')
   at System.Guid.Parse(String input)
   at EShopOnAbp.PublicWeb.ServiceProviders.UserBasketProvider.GetBasketAsync() in D:\Github\eShopOnAbp\apps\public-web\src\EShopOnAbp.PublicWeb\ServiceProviders\UserBasketProvider.cs:line 35

Related to

HttpContext.Request.Cookies.TryGetValue(EShopConstants.AnonymousUserClaimName,
out string anonymousUserId);

anonymousUserId is being null because the UseAnonymousUser midware didn't kick in yet.

Visual Studio 2022 debug issue

First I run docker to make environment .Its ok.

Then i config the properties
image

Then i hitting the run button to debug
image

Most errors are missing dlls .I check the dll files . Its exactly missing .I cant build the dll ,because the csproj debug has the same dlls missing errors.
Pls help
Best regards.

Account management and User management issues

When I click on the My Account menu in the Public Web app

image

... it redirects me to http://localhost:8080/realms/master/Account/Manage, which displays the error "Page not found".

Also, when I create a user in the Identity management page of the angular app, then login using that user, I am not able to login.

Is there an ongoing fix regarding these issues?

Best regards.

Paypal credentials issue while running the application with tye

I am working with eShopOnAbp on the Ubuntu AWS instance.

I am following the instructions here: < https://github.com/abpframework/eShopOnAbp#instructions > to run eShopOnAbp.

As per the instructions, we need to have a Paypal clientID and secret, which will be hardcoded in the .env file before executing tye run to run the project.

And if I try running tye run without adding Paypal clientID and secret in the .env file, I get the below error:

Evaluated project metadata file could not be found for service identity-service 

May I know, is it mandatory to add PayPal credentials in the environment file before running tye, or is there a workaround?

Swagger Authentication problem on K8s production

image

eShopOnAbp is the main sample for this problem.

We are running all the application/microservices on pods.

When we are making a login request the issuer, it is set to dns name (https://auth.eshoponabp.com) so it is redirected back to the issuer (dns). The internal requests like /.well-known/openid-configuration is made to the pod (http://eshop-az-authserver).
We have an OpenIdConnectOptions configuration to separate the internal and web requests.

However, the AddAbpSwaggerGenWithOAuth configuration to authenticate the swagger user doesn't have this kind of configurations so we can not authenticate the swagger user using authorization code.

We need to find a way to add OpenIdConnectOptions or similar configuration to set whenever redirect to dns and whenever redirect to pod.

Permission management system with external openid-provider (keycloak)

When we had IdentityServer module, we were able to define permissions for the client which is used during the client_credentials flow.

Since we moved to Keycloak completely, there is no way to assign application permission to an external openid-provider.

We may consider using scoped-based authorization or add UI for permission management to manually add permissions for clients (applications) for these kind of scenarios.

eShopOnAbp: Triggering data seed without schema migration

Currently, for EF Core, data seeding works only if there is a pending migration. However, there may be cases where there is no pending migration, but we need to seed database.

Possible solution: Run seed on every startup (optional) and manually trigger it in the admin side.

"Error starting gRPC call" when adding to basket

This might be a dumb question because I have not looked into gRPC very closely yet.

I'm getting this error when I click on "Add to basket" in the public facing app (https://localhost:44335/)

Grpc.Core.RpcException: 'Status(StatusCode="Unavailable", Detail="Error starting gRPC call. HttpRequestException: No connection could be made because the target machine actively refused it. (localhost:81) SocketException: No connection could be made because the target machine actively refused it.", DebugException="System.Net.Http.HttpRequestException: No connection could be made because the target machine actively refused it. (localhost:81)

Please give some guidance on how I can fix this. I just want to successfully run the app, then explore the code after that.

Thanks.

eShopOnAbp: web application api-configuration dependency

Angular app needs to get localization and permission information from api-configuration end-point.
This request is re-routed to administration service (

"DownstreamPathTemplate": "/api/abp/{everything}",
).

Since AdministrationService doesn't have reference to other microservices' Application.Contracts module, it can not obtain related localization/permission info.

We can:

  • reference to all other microservice application contracts from AdministrationService but this will tightly couple AdministrationService to all other services
  • reference to all other microservice application contracts from WebGateway but it will also make it harder to replace gateways with different tech stack.
  • try to find a static way for api-configurations just like api-proxy

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.