GithubHelp home page GithubHelp logo

krispi1 / heroes-vue Goto Github PK

View Code? Open in Web Editor NEW

This project forked from johnpapa/heroes-vue

0.0 0.0 0.0 356 KB

Tour of Heroes app written with Vue

Home Page: https://papa-heroes-vue.azurewebsites.net

JavaScript 39.72% Dockerfile 1.75% HTML 2.11% Vue 50.29% CSS 6.14%

heroes-vue's Introduction

Tour of Heroes

This project was created to help represent a fundamental app written with Vue. The heroes and villains theme is used throughout the app.

by John Papa

Comparative apps written with Angular and React can be found at github.com/johnpapa/heroes-angular and github.com/johnpapa/heroes-react

Why

I love JavaScript and the Web! One of the most common questions I hear is "which framework is best?". I like to flip this around and ask you "which is best for you?". The best way to know this is to try it for yourself. I'll follow up with some articles on my experiences with these frameworks but in the meantime, please try it for yourself to gain your own experience with each.

Live Demos

Hosted in Azure

Getting Started

  1. Clone this repository

    git clone https://github.com/johnpapa/heroes-vue.git
    cd heroes-vue
  2. Install the npm packages

    npm install
  3. Run the app!

    npm run quick

Cypress Tests

  1. You can execute all of the UI tests by running the following steps

    npm run cypress

What's in the App

Each of these apps contain:

  • routing
  • lazy loading
  • container/presenter components
  • redux state management pattern
  • The same CSS

Why Cypress?

Cypress.io makes it easy to run all three apps simultaneously in end to end tests, so you can watch the results while developing.

Why abstracted CSS?

The goal of the project was to show how each framework can be designed to create the same app. Each uses their own specific techniques in a way that is tuned to each framework. However the one caveat I wanted to achieve was to make sure all of them look the same. While I could have used specific styling for each with scoped and styled components, I chose to create a single global styles file that they all share. This allowed me to provide the same look and feel, run the same cypress tests, and focus more on the HTML and JavaScript/TypeScript.

Why JSON Server?

The app uses a JSON server for a backend by default. This allows you to run the code without needing any database engines or cloud accounts. Enjoy!

Why Docker?

You can host the app any way you prefer. I chose Docker because it is familiar to me and makes it easy to run anywhere (local or cloud). You do you though and feel free to run this in yur own way.

Problems or Suggestions

Open an issue here

Thank You

Thank you to Sarah Drasner, Brian Holt, Chris Noring, Craig Shoemaker, and Ward Bell for providing input and reviewing the code in the three repos for the Angular, React, and Vue apps:

Resources

Debugging Resources

heroes-vue's People

Contributors

johnpapa avatar wickkidd avatar vedmack 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.