This project it's using:
- Comic list
- Character list
- Comic details
- Filters
The structure of this project it's based on folder-by-feature
and you will be able see some advantages bellow (try to take a look in the project structure first).
- src/
- app/
- core/
- character/
- comic/
- shared/
- component/
- constant/
- interface/
- utils/
- app/
- assests/
- fonts/
- environments/
In a structure like that you will easily indentify the systeam features and easily find a features files (e.g when you have a problem in a feature), just with files names you are able to know what that file contains (e.g .spec
will have tests), all your features code will be separeted and organized (e.g each feature being a module), make it easy the lazy loading strategy, etc. You can read more about LIFT guidelines and folder-by-feature
Since this project use the Marvel API, you have to follow some steps before run the application:
- Sign in on Marvel API
- Allow your domain to acess the API (if you are using
localhost
you also have to allow it)
- Create a new
environment.local.ts
onsrc\environments
folder with the following structure:
export const environment = {
production: false,
marvelPublicKey: 'YOUR_PUBLIC_MARVEL_API'
};
- Just run using
npm run start:hmr
orng serve --configuration=local
- You will have to setup your public Marvel API in you enviroment
- Create a script or use the
envConfig.js
, on root folder, to fill themarvelPublicKey
on Angular enviroment file with YOUR public Marvel API 6.1. Theenvironment.prod.ts
is already setup with amarvelPublicKey: '$API_KEY'
- Deploy it 7.1. Take a look on Heroku
- 100%
.ts
file coverage with unitary tests - Componet tests just to the main flow
npm run test
to generate code coverage- open
coverage\marvel-catalog\index.html
to see the coverage
- open
ng test
just run all the tests