Skip to content
Open
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
41 changes: 21 additions & 20 deletions docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,27 @@ services:
# # - backend
# volumes:
# - /app/node_modules/
# backend:
# build:
# context: .
# dockerfile: ./Dockerfile
# restart: unless-stopped
# ports:
# - 8080:8080
# - 50051:50051
# networks:
# - laforge-backend-tier
# depends_on:
# - redis
# - db
# volumes:
# - ./server/builds/:/app/builds
# - ./server/logs/:/app/logs
# - ./server/users/:/app/users
# - ./server/repos/:/app/repos
# - ./configs/:/app/configs
# - ./conf.dev.json/:/app/conf.dev.json

backend:
build:
context: .
dockerfile: ./Dockerfile
restart: unless-stopped
ports:
- 8080:8080
- 50051:50051
networks:
- laforge-backend-tier
depends_on:
- redis
- db
volumes:
- ./server/builds/:/app/builds
- ./server/logs/:/app/logs
- ./server/users/:/app/users
- ./server/repos/:/app/repos
- ./configs/:/app/configs
- ./conf.dev.json/:/app/conf.dev.json

db:
image: library/postgres:14.2-alpine
Expand Down
16 changes: 16 additions & 0 deletions laforge-ui/.browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# 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

# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support

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

last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
3 changes: 3 additions & 0 deletions laforge-ui/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
dist
*.env
16 changes: 16 additions & 0 deletions laforge-ui/.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
16 changes: 16 additions & 0 deletions laforge-ui/.eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
node_modules
package.json
package-lock.json
dist
.angular

# Ignore some template stuff
src/app/_helpers
src/app/_metronic
src/app/modules
src/assets
src/data
src/environments

# Ignore generated files
src/generate
100 changes: 100 additions & 0 deletions laforge-ui/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"root": true,
"ignorePatterns": ["projects/**/*"],
"overrides": [
{
"files": ["*.ts"],
"parserOptions": {
"project": ["tsconfig.json"],
"createDefaultProgram": true
},
"extends": [
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates",
"plugin:prettier/recommended",
"plugin:import/recommended",
"plugin:import/typescript"
],
"plugins": ["@typescript-eslint", "@angular-eslint", "import", "prettier", "unused-imports"],
"rules": {
"@angular-eslint/directive-selector": [
"error",
{
"type": "attribute",
"prefix": "laforge",
"style": "camelCase"
}
],
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": "laforge",
"style": "kebab-case"
}
],
"@typescript-eslint/no-empty-function": ["warn"],
"no-warning-comments": ["warn", { "terms": ["todo", "fixme"], "location": "anywhere" }],
"no-console": ["warn"],
"max-len": ["error", { "code": 140 }],
"@angular-eslint/no-empty-lifecycle-method": ["warn"],
"import/order": [
"error",
{
"newlines-between": "always-and-inside-groups",
"alphabetize": {
"order": "asc",
"caseInsensitive": true
},
"warnOnUnassignedImports": true
}
],
"import/no-unresolved": ["off"],
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": "off",
"unused-imports/no-unused-imports": "error",
"unused-imports/no-unused-vars": [
"warn",
{
"vars": "all",
"varsIgnorePattern": "^_",
"args": "after-used",
"argsIgnorePattern": "^_"
}
]
},
"settings": {
"import/extensions": [".ts", ".tsx"],
"import/parsers": {
"@typescript-eslint/parser": [".tx", ".tsx"]
},
"import/resolver": {
"webpack": {
"alias": {
"@components": "src/app/components/",
"@models": "src/app/models/",
"@pages": "src/app/pages/",
"@services": "src/app/services/",
"@env": "src/environments/environment",
"@graphql": "src/generated/graphql"
},
"extensions": [".ts", ".tsx"]
}
}
}
},
{
"files": ["*.html"],
"extends": ["plugin:@angular-eslint/template/recommended"],
"rules": {}
},
{
"files": ["*.html"],
"excludedFiles": ["*inline-template-*.component.html"],
"extends": ["plugin:prettier/recommended"],
"rules": {
"prettier/prettier": ["error", { "parser": "angular" }]
}
}
]
}
46 changes: 46 additions & 0 deletions laforge-ui/.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
/bazel-out

# Node
/node_modules
npm-debug.log
yarn-error.log

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

# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*

# Miscellaneous
/.angular/cache
.sass-cache/
/connect.lock
/coverage
/libpeerconnection.log
testem.log
/typings

# System files
.DS_Store
Thumbs.db
._*

# npmrc - FontAwesome Pro Token
.npmrc
2 changes: 2 additions & 0 deletions laforge-ui/.npmrc.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@fortawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=TOKEN
1 change: 1 addition & 0 deletions laforge-ui/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
18.10.0
1 change: 1 addition & 0 deletions laforge-ui/.prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.angular
9 changes: 9 additions & 0 deletions laforge-ui/.prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"singleQuote": true,
"trailingComma": "none",
"endOfLine": "auto",
"printWidth": 140,
"jsxBracketSameLine": true,
"bracketSameLine": true,
"htmlWhitespaceSensitivity": "ignore"
}
10 changes: 10 additions & 0 deletions laforge-ui/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
FROM node:18 as builder
WORKDIR /app
COPY . .
RUN npm ci && npm run build

FROM nginx:stable
WORKDIR /app
COPY ./docker_files/default.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/dist/ /app/
EXPOSE 80 443
27 changes: 27 additions & 0 deletions laforge-ui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# LaforgeUi

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

## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application 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.

## 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 a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

## Further Notes

LCARS Inspired Website Template by www.TheLCARS.com, with modifications.
Loading