Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
gberaudo committed Aug 20, 2024
0 parents commit c328fd4
Show file tree
Hide file tree
Showing 20 changed files with 2,949 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.json linguist-language=JSON-with-Comments
22 changes: 22 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
extends: ["config:base", "schedule:earlyMondays"],
baseBranches: ["master"],
lockFileMaintenance: { enabled: true },
dependencyDashboardApproval: true,
packageRules: [
{
matchPackagePrefixes: [],
matchUpdateTypes: ["major"],
enabled: false,
},
{
matchDepTypes: ["devDependencies"],
automerge: true,
},
{
matchUpdateTypes: ["minor", "patch"],
groupName: "all patch and minor versions",
automerge: true,
},
],
}
30 changes: 30 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: CI

on:
push:
branches:
- master
pull_request:
branches:
- master

env:
IN_CI: "1"

jobs:
basic:
timeout-minutes: 3
runs-on: ubuntu-24.04
name: Basic checks
steps:
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Build
run: npm run build
- name: Prettier
run: npm run prettier
- name: Linter
run: npm run lint
# - name: Api extractor
# run: npm run api-extractor-check
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules/
lib/
dist/
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"files.associations": { "*.json": "jsonc" }
}
7 changes: 7 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# CONTRIBUTING

This project is at its early stage.
Please get in touch by:

- opening an issue
- or by sending an email to Guillaume Beraudo ([email protected]).
11 changes: 11 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# A dockerfile is provided

# It is based on a stable distro, example debian

# It produces several images:
# - frontend: contains all apps frontends, served by nginx;
# - backend: contains all apps backends, served by node or deno.

# An entrypoint allows to select the active app.

# The images are published to docker hub.
51 changes: 51 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Next-Gen-3D-Viewer applications framework

## Introduction

NGV is a framework to produce geospatial web applications.

It features a set of independant components and a standardized way to use them in your custom application.
A few turn-key applications are provided, easily customizable without code.
It also includes production-ready Dockerfiles to go from dev to prod in a breeze.

This project targets developers: it should be a joy to work with it and deliver value.

We think there is a space for a next-gen 3d viewer software that would both provide:

- a turn-key solution allowing declarative configuration;
- a stable and highly extensible foundation for building custom solutions.

The "modern" touch comes from today's advances of the technology (CSS vars, typescript, dynamic imports, web components...) but also in term of architectural approach.

## Turn-key applications

We provide web applications customized using a json file, CSS variables, graphic resources.
These are focused on a particular use-case.

- [Digital twins: building permits](./src/apps/buildings/README.md)

# Application builder

This repository is an application builder targeting developers.
It strives to make it easy and natural for developers to customize, build and provide value.

For advanced customization of creating new apps simply fork the repository and start delivering, immediately.

## Deployment

See the provided [Dockerfile][./Dockerfile].

## Current status

We are at the early stage of implementation.

## Participating

This is a geoblocks project, open to anyone.

See [CONTRIBUTINGS.md](./CONTRIBUTING.md).

## How it integrates with the geoblocks philosophy

Geoblocks is about providing unopiniated reusable building blocks.
This project builds on top of these blocks to allow creating apps in a reusable way.
44 changes: 44 additions & 0 deletions api-extractor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"mainEntryPointFilePath": "<projectFolder>/lib/types/src/index.d.ts",
"bundledPackages": [],
"newlineKind": "lf",
"compiler": {},

"apiReport": {
"enabled": true,
"reportFileName": "<unscopedPackageName>.api.md",
"reportFolder": "<projectFolder>/"
},

"docModel": {
"enabled": true
},

"dtsRollup": {
"enabled": true,
"untrimmedFilePath": "<projectFolder>/lib/<unscopedPackageName>.d.ts"
},

"tsdocMetadata": {},

"messages": {
"compilerMessageReporting": {
"default": {
"logLevel": "warning"
}
},

"extractorMessageReporting": {
"default": {
"logLevel": "warning"
}
},

"tsdocMessageReporting": {
"default": {
"logLevel": "warning"
}
}
}
}
27 changes: 27 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// @ts-check

import eslint from "@eslint/js";
import tseslint from "typescript-eslint";
import prettierConfig from "eslint-config-prettier";

export default tseslint.config(
eslint.configs.recommended,
...tseslint.configs.recommendedTypeChecked,
{
languageOptions: {
parserOptions: {
project: true,
// @ts-expect-error 2339
tsconfigRootDir: import.meta.dirname,
},
},
},
{
files: ["*.js"],
extends: [tseslint.configs.disableTypeChecked],
},
prettierConfig,
{
ignores: ["lib/*"],
},
);
13 changes: 13 additions & 0 deletions gs-rd-nextgen-viewer.api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## API Report File for "gs-rd-nextgen-viewer"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
// @alpha (undocumented)
export class NGV {
// (undocumented)
version: readonly string[];
}

// (No @packageDocumentation comment for this package)
```
28 changes: 28 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Turn-key apps</title>
<!-- <link rel="stylesheet" href="./src/index.css" /> -->
</head>
<body>
<h1>List of turn-key apps:</h1>
<ul>
<li>
<a href="./src/apps/buildings/index.html"
>Digital twins: building permits</a
>
</li>
<li>...</li>
</ul>
<!-- link to documentation -->
<!-- link to customization -->
<script>
for (const a of document.querySelectorAll("li a")) {
a.href = a.href + document.location.search;
}
</script>
</body>
</html>
15 changes: 15 additions & 0 deletions logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit c328fd4

Please sign in to comment.