Skip to content

Commit

Permalink
push challenge to git
Browse files Browse the repository at this point in the history
  • Loading branch information
brunormferreira committed May 11, 2020
0 parents commit b72aa7b
Show file tree
Hide file tree
Showing 142 changed files with 18,001 additions and 0 deletions.
16 changes: 16 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Editor configuration, see https://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.ts]
quote_type = single

[*.md]
max_line_length = off
trim_trailing_whitespace = false
46 changes: 46 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# See http://help.github.com/ignore-files/ for more about ignoring files.

# compiled output
/dist
/tmp
/out-tsc
# Only exists if Bazel was run
/bazel-out

# dependencies
/node_modules

# profiling files
chrome-profiler-events*.json
speed-measure-plugin*.json

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*

# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
yarn-error.log
testem.log
/typings

# System Files
.DS_Store
Thumbs.db
12 changes: 12 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM node:alpine

WORKDIR '/app'

COPY package.json .
RUN npm install

COPY . .

EXPOSE 4200

CMD ["npm", "run", "start"]
110 changes: 110 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Mini-Netflix

- This project intends to choose a front-end framework to execute. I choose [Angular](https://angular.io/) to it.

- This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.2.

<hr />

## Table of Contents

- [Used Technologies](#used-technologies)
- [Required Installation](#required-installation)
- [Installing Packages](#install-packages)
- [Running Frontend](#running-frontend)
- [Cypress](#running-cypress)
- [Unit Tests](#running-unit-tests)
- [Using Docker](#using-docker)
- [Users Mock Logins](#users-mock-logins)
- [To do](#to-do)
- [Author](#author)

<hr />

## Used technologies

```
Angular;
SCSS;
BEM Architecture to SCSS files;
Cypress to e2e;
Docker.
```

## Required installation

- If you dont have been installed yet, on command line do as follow:

```
$ sudo apt install nodejs
$ npm/yarn install -g @angular/cli
```

## Installing packages

```
$ npm/yarn install
```


## Running frontend

```
$ ng serve -o
```

## Running Cypress

- Execute the integration test via [Cypress](https://www.cypress.io/);
- On another command line do as follow, with development server online `http://localhost:4200/`.

```
$ npm/yarn run cy
```

## Running unit tests

- Execute the unit tests via [Karma](https://karma-runner.github.io).

```
$ ng test
```

## Using Docker

- Automate past processes with following command:

```
$ sudo docker-compose up
```

## Users Mock logins

```ts
'User One': {
email: 'dev@test.com',
password: 123456,
},
'User Two': {
email: 'sup@test.com',
password: 123456,
}
```

## To do

```
1. Implement more unit tests;
2. Do more movies services;
3. Add more @media-queries;
4. Create an nodejs API with express to give movies data.
```

## Author

* **Bruno Ramires de Moraes Ferreira** - [GitHub](https://github.com/brunormferreira)

<a href="https://github.com/brunormferreira">
<img
alt="Imagem do Autor Bruno Ramires" src="https://avatars0.githubusercontent.com/u/35575092?s=460&v=4" width="100">
</a>
132 changes: 132 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"evaluation-process": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/evaluation-process",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"aot": true,
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": true,
"outputHashing": "all",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [
{
"type": "initial",
"maximumWarning": "2mb",
"maximumError": "5mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "6kb",
"maximumError": "10kb"
}
]
}
}
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "evaluation-process:build"
},
"configurations": {
"production": {
"browserTarget": "evaluation-process:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "evaluation-process:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"tsconfig.app.json",
"tsconfig.spec.json",
"e2e/tsconfig.json"
],
"exclude": [
"**/node_modules/**"
]
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "evaluation-process:serve"
},
"configurations": {
"production": {
"devServerTarget": "evaluation-process:serve:production"
}
}
}
}
}
},
"defaultProject": "evaluation-process",
"cli": {
"analytics": "1ed8458a-fa9d-49a9-b569-e0669fa1cd74"
}
}
12 changes: 12 additions & 0 deletions browserslist
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries

# You can see what browsers were selected by your queries by running:
# npx browserslist

> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11 # For IE 9-11 support, remove 'not'.
5 changes: 5 additions & 0 deletions cypress.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"baseUrl": "http://localhost:4200",
"email": "dev@test.com",
"password": "123456"
}
32 changes: 32 additions & 0 deletions cypress/fixtures/user1.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[
{
"id": 11,
"name": "User one",
"email": "dev@test.com",
"password": "123456",
"profileImg": "assets/images/profile1.png",
"favMovies": [
{
"id": 1,
"categoryId": 2,
"title": "Seis Vezes Confusão",
"poster": "assets/movies/comedy/6vezesconfusao.jpg",
"views": 6
},
{
"id": 3,
"categoryId": 3,
"title": "Contato Visceral",
"poster": "assets/movies/horror/contatovisceral.jpg",
"views": 2
},
{
"id": 4,
"categoryId": 1,
"title": "Grande Luta",
"poster": "assets/movies/action/grandeluta.jpg",
"views": 8
}
]
}
]
Loading

1 comment on commit b72aa7b

@vercel
Copy link

@vercel vercel bot commented on b72aa7b Jan 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.