Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions .azure/pipelines/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Azure pipeline definition for the integration of the solution (continuous integration)
# See: https://aka.ms/yaml

trigger:
batch: true
branches:
include:
- master
paths:
exclude:
- README.md

pr:
autoCancel: true
branches:
include:
- master
paths:
exclude:
- README.md

schedules:
- cron: "0 0 * * *"
displayName: 'Daily midnight build'
branches:
include:
- master
always: true

variables:
# library variable groups
- group: 'build-tools'
# environment variables
- name: DOTNET_CLI_TELEMETRY_OPTOUT
value: 1
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
value: 1
# common task variables
- name: 'BuildConfiguration'
value: 'Debug'
- name: 'SolutionFile'
value: 'dotnet/KeepTrack.sln'
- name: 'TestProjects'
value: 'dotnet/**/*[Tt]ests/*.csproj'
# tool variables (Sonar)
- name: 'sonar.project.name'
value: 'KeepTrack'
- name: 'sonar.project.key'
value: 'devpro.keep-track'

pool:
# code coverage generation only works on Windows for the moment
vmImage: 'windows-latest'

steps:
- task: SonarCloudPrepare@1
displayName: 'Prepare code analysis'
inputs:
SonarCloud: '$(sonar.instance)'
organization: '$(sonar.organization)'
scannerMode: 'MSBuild'
projectKey: '$(sonar.project.key)'
projectName: '$(sonar.project.name)'
extraProperties: |
sonar.cpd.exclusions=**/Models/*.cs,**/Dto/*.cs

- task: DotNetCoreCLI@2
displayName: 'Build the .NET solution'
inputs:
command: 'build'
projects: $(SolutionFile)
arguments: '-c $(BuildConfiguration)'

- task: DotNetCoreCLI@2
displayName: 'Run the .NET test projects'
inputs:
command: 'test'
projects: $(TestProjects)
arguments: '--configuration $(BuildConfiguration) --collect "Code coverage"'

- task: SonarCloudAnalyze@1
displayName: 'Analyze the code with Sonar'

- task: SonarCloudPublish@1
displayName: 'Publish the code analysis results'
inputs:
pollingTimeoutSec: '300'
61 changes: 61 additions & 0 deletions .azure/pipelines/pkg.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Azure pipeline definition for the packaging of the solution (continuous delivery)
# See: https://aka.ms/yaml

trigger:
batch: true
branches:
include:
- master
paths:
exclude:
- README.md
include:
- Directory.Build.props

pr: none

variables:
# library variable groups
- group: 'build-tools'
# environment variables
- name: DOTNET_CLI_TELEMETRY_OPTOUT
value: 1
- name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
value: 1
# common task variables
- name: 'BuildConfiguration'
value: 'Release'
- name: 'SolutionFile'
value: 'dotnet/KeepTrack.sln'

pool:
vmImage: 'ubuntu-latest'

steps:
- task: UseDotNet@2
displayName: 'Use .NET Core SDK 3.1.100'
inputs:
packageType: 'sdk'
version: '3.1.100'
- task: DotNetCoreCLI@2
displayName: 'Publish the dotnet api'
inputs:
command: 'publish'
publishWebProjects: false
projects: 'dotnet/src/**/*Api.csproj'
arguments: '-c Release -o $(Build.ArtifactStagingDirectory)'
modifyOutputPath: false
- task: DotNetCoreCLI@2
displayName: 'Publish the dotnet app'
inputs:
command: 'publish'
publishWebProjects: false
projects: 'dotnet/src/**/*App.csproj'
arguments: '-c Release -o $(Build.ArtifactStagingDirectory)'
modifyOutputPath: false
- task: PublishBuildArtifacts@1
displayName: 'Save the artifacts'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Keep track

Applications and libraries to save and review things we like & own, things we like & saw.

## Content

* [.NET](dotnet/README.md): API (backend)
14 changes: 14 additions & 0 deletions angular/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# 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
end_of_line = lf

[*.md]
max_line_length = off
trim_trailing_whitespace = false
46 changes: 46 additions & 0 deletions angular/.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
27 changes: 27 additions & 0 deletions angular/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# AngularKeepTrack

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

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).

## Further help

To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
127 changes: 127 additions & 0 deletions angular/angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"angular-keep-track": {
"projectType": "application",
"schematics": {},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/angular-keep-track",
"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": [
"./node_modules/@angular/material/prebuilt-themes/purple-green.css",
"src/styles.css"
],
"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": "angular-keep-track:build"
},
"configurations": {
"production": {
"browserTarget": "angular-keep-track:build:production"
}
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"browserTarget": "angular-keep-track: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": [
"./node_modules/@angular/material/prebuilt-themes/purple-green.css",
"src/styles.css"
],
"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": "angular-keep-track:serve"
},
"configurations": {
"production": {
"devServerTarget": "angular-keep-track:serve:production"
}
}
}
}
}
},
"defaultProject": "angular-keep-track"
}
12 changes: 12 additions & 0 deletions angular/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'.
Loading