All Projects → ardiadrianadri → good-practices-angular

ardiadrianadri / good-practices-angular

Licence: MIT license
Workshop to learn good practices with Angular

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to good-practices-angular

sdia-python
Python course material - SDIA Python
Stars: ✭ 16 (-36%)
Mutual labels:  good-practices
Node Api Boilerplate
DDD/Clean Architecture inspired boilerplate for Node web APIs
Stars: ✭ 2,797 (+11088%)
Mutual labels:  good-practices
Design Patterns In Swift
📖 Design Patterns implemented in Swift 5.0
Stars: ✭ 13,146 (+52484%)
Mutual labels:  good-practices
Ios Good Practices
Good ideas for iOS development, by Futurice developers.
Stars: ✭ 10,417 (+41568%)
Mutual labels:  good-practices
massa
Keep the quality, good practices and security of Rails projects.
Stars: ✭ 61 (+144%)
Mutual labels:  good-practices
Boas-Praticas-Cplusplus
Guia Rápido de Boas Práticas em C++
Stars: ✭ 67 (+168%)
Mutual labels:  good-practices
http4s-good-practices
Collection of what I consider good practices in Http4s (WIP)
Stars: ✭ 74 (+196%)
Mutual labels:  good-practices
unity-clean-code
Quick guide to help Unity developers create more robust, maintainable, and cleaner C# code.
Stars: ✭ 60 (+140%)
Mutual labels:  good-practices
Hacktoberfest-2k19
Just add pull requests to this repo and stand a chance to win a limited edition Hacktoberfest T-shirt.
Stars: ✭ 33 (+32%)
Mutual labels:  good-practices
design-patterns-cookbook
Design Patterns in simple words with examples on PHP
Stars: ✭ 26 (+4%)
Mutual labels:  good-practices

Workshop of good practices in Angular

This workshop tries to teach which are the best practices to codify an application in Angular and why it is so important to follow them. To do so, we take this application as an example.

This app is a small web to search information about Marvel comics characters. It has two pages;

1- A search page to look for a character

2- A page with all the details of the character

This application is a clear example of how nobody has to codify an application in Angular. Despite the fact that it was created with Angular-cli, that it does not have any error of lint and works well (do not pay too much attention to the CSS files ...) everything is wrong. This application has serious problems of maintainability. It is difficult to read, it mixes several languages in a single file, it mixes the logic of visualization with the logic of model, it is not modular, it is not lazy so its performance is bad, etc.

During this workshop, I'm going to do refactoring step by step to change it in the right way. In each step, I'll improve one part of the app and I'll explain which are good practices I've followed, why they improve the app and what benefits we get.

The main objective of this workshop is to understand the reason for these good practices. I am quite sure that all what I'm going to teach in this workshop is well know for the majority of the angular developers. Although this fact, I'm still finding examples of bad practices in Angular projects. I think that the main reason for it is that the people don't understand the reason for these good practices. This workshop is going to explain point by point all these rules.

How to follow this workshop

This is the first step of the workshop. It is marked with the git tag "step-0". To go to the second step you should pull the tag "step-1" from the Github repository. The same for the second, third, fourth and so on consecutively for the rest of the steps. In each step the README file is different. It will explain the good practice which is applied in the code of the git node. To see how the code change with each good practice you need only to make a 'git diff' between two different steps.

How to run the example

This example uses the public Marvel API as a backend data source. To use it you need to have a Marvel public and private key. To get them is easy; go to the developers portal, create an account and copy your key from your account information page. After that, look for in the code where the keys are needed:

marvelPublicKey: '<Your public key from marvel account>',
marvelPrivateKey: '<Your private key from marvel account>'

And replace the strings "" and "" for your public and private key respectively.

Important: do not push in the Github repository your private key

Authors:

Adrian Ferreres:

Angular developer since beta 17 and technical speaker. He has worked in several IT consulting projects in Spain with the framework and, currently works as frontend developer for Censhare in Munich

Ruben Aguilera:

Regular technical speaker, Angular and Polymer expert, developer trainers and advanced software architect. Ruben had worked on many projects, as a full stack developer. Currently working in Spain for Autentia and wrote all his lessons learned in the book "Angular: guía práctica"(only in Spanish... sorry)

Alfredo de la Calle:

Angular, React, Polymer, native javascript ..... all-terrain developer. Alfredo has worked in startups and some project of IT consultancies. Currently, he works at GFT consulting as a front-end developer.

Oleksandr Fedotov:

Full-stack developer, with a special passion for front-end development. Big fan of Javascript and functional programming. At the moment working as an IT Consultant at Netlight in Munich.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].