Giter Site home page Giter Site logo

nordes / honosoft.dotnet.web.spa.projecttemplates Goto Github PK

View Code? Open in Web Editor NEW
16.0 16.0 3.0 5.24 MB

.Net Core 2.2 > SPA Application with VueJS/Vuex/WebPack 4/Picnic CSS/Fontello

License: MIT License

JavaScript 31.31% Vue 30.41% CSS 9.16% HTML 6.78% C# 19.69% Dockerfile 2.65%
csharp docker dotnet dotnet-core dotnet-core2 nuget picniccss spa template vuejs vuejs2 webpack

honosoft.dotnet.web.spa.projecttemplates's People

Contributors

nordes avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

honosoft.dotnet.web.spa.projecttemplates's Issues

Add a cookie message ... (you know)

Probably there`s already some kind of template for that.

Let the user consent about the cookies. Those templates are not yet using storage/cookies, but if the developer start doing it, then it should be displayed (EU law...)

So, basically it will become a component with a cookie or similar to keep the user agreement.

PicnicTable - Create a sample with SignalR

Basically create a sample using SignalR. It should be fairly easy and we should be using the vuex for that. It's like the perfect place to make our "front end store".

Apply the .Net Core SPA templating..

Using Picnic CSS might be difficult, but it's feasible.

At the moment the look is as following:
image

We have to finalize the view and the data API.

Webpack + Lint - Live?

Should it be done... it works, but it's not a great experience if you're in visual studio.

Package file:

    "eslint-friendly-formatter": "^4.0.1",
    "eslint-loader": "^2.1.1",

Webpack conf:

  // Part of the export
  stats: 'minimal', // https://webpack.js.org/configuration/stats/
  // rules
      {
        test: /\.(js|vue)$/,
        loader: 'eslint-loader',
        enforce: 'pre',
        include: [path.resolve(_rootDir, 'ClientApp')],
        options: {
          formatter: require('eslint-friendly-formatter'),
          emitWarning: !isProduction, // You can also use emitError instead
          configFile: '.eslintrc.js'
        }
      },

todo... redesign theme with better flex css

I have redesigned on a personal project using better flexbox for menu and all. So it looks a bit more useful (top bar hiding when small screen, and left bar become top bar when minimizing with icon on top right).

I don't know how much time it will take to apply here ;).. .so I'll leave it as a todo.

Add a collapsible menu.

Left menu in the new design should/can be collapsed. It was part of the original design. Now with the flex redesign it works as expected.

All - IE (11?) left menu fails

The left menu does not display properly after using a promisify "like" polyfill.

So, I either fix it or consider that menu as non IE friendly ;).

Update npm package

Update the npm packages.

Babel/core -> 7.1.2
copy-webpack-plugin -> 4.5.4

Add a docker file + heroku example

Simply add a dockerfile and an "automatic" deployment to heroku example (if possible).

The dockerfile, it's simple. For heroku "1 push" deploy button, I don't know yet how to do.

html webpack plugin

Add a base ref as a parameter. This allow to have a nginx server running the app as the front-end.

      templateParameters: {
        'baseHref': isProduction ? '/some-url/' : '/'
      }

In the index.html

    <base href="<%= baseHref %>" target="_blank">

related to #29

Write proper wiki pages or at least something

Write proper Wiki pages.

Basically, kind of how to work with the template. At the same time update the about in the template to point to the wiki.

This is more a long running task, not an issue.

I will close

Add a spinner when loading the data

Add a spinner when loading the data => FetchData

Also, fix the BaseIcon in order to also allow a spin (parameter). Default it will not spin, otherwise it adds the class to spin + use the i instead of span html element.

Add icons within the template

Simple, but still require some time ;).

Add the icons from Fontello (build custom your font/icons).

For a small site it's more than enough.

Regression: The publicPath for dist is causing webpack hot reload issue

Since I added the . before the /dist in the public path for the file to be published. This causes an issue when we use the hot reload.

The hot reload then use /dist/webpack_... instead of /webpack_... (websocket)

The fix is to simply ignore the . before when we're not in production. Not the best solution, but it should be working.

Bug with routes order in vue picnic css

The routes are working, however, when we have no language selected (default), it fails if you push f5.

The main reason is the order of routing that cause a kind of conflicts. It thinks that it goes on /{something} which would be the home component with a language.

To fix, we simply have to move the home route at the end, add an order within the meta and then change the menu ordering.

Delay on the API is too long

A delay have been added on the API, but I think that we should simply put instead the fake delay in the front-end before doing the API call (first time). That way it would remove the latency.

Fix burger/menu when getting smaller.

This is actually a bug due to it's current implementation.

I need to change the menu implementation in order to have the burger show, and put the titlebar as static (top) + burger menu.

Something similar...

PicnicTable - Add a multilingual module

Because we're after 2000 ;).

For real, a front-end only in one language is quite rare today. Maybe this should be a template decision more than enforced.

I will be using a lazy json file which is loaded at runtime. This mean we could change the implementation to either use a service call or directly a "hard-coded" file.

Vue-i18n is quite a good plugin.

I did it in the past and my final implementation looked a bit like https://kuanhsuh.github.io/2017/09/16/How-to-implement-multi-language-with-Vue-i18n/

So... I should look at the complete article or my previous code and see which one I prefer.

Change the startup to be more pluggable

This is not really an issue, it's more a look and feel of the startup.

Now it looks quite messy. I usually use extension methods. It hides a bit the complexity, however it gives a lot of readability which is not a bad thing in this situation.

add eslint

In order to have some format that make sense (; or none, etc.)

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.