Add some tools
This commit is contained in:
parent
0e29b09650
commit
a453ae3326
2 changed files with 131 additions and 33 deletions
|
@ -1,11 +1,11 @@
|
||||||
import Organization, {Limouzik} from "./Organization";
|
import Organization, {Limouzik} from "./Organization";
|
||||||
import Tool, {Symfony, React} from "./Tool";
|
import Tool, {Symfony, React, Unity3D} from "./Tool";
|
||||||
|
|
||||||
interface Project {
|
interface Project {
|
||||||
organization: Organization,
|
organization: Organization | null,
|
||||||
name: string,
|
name: string,
|
||||||
description: string,
|
description: string,
|
||||||
tools: Array<Tool>
|
tools: Tool[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export const SiteWebLimouzik: Project = {
|
export const SiteWebLimouzik: Project = {
|
||||||
|
@ -33,5 +33,5 @@ export const LimouzikV4: Project = {
|
||||||
organization: Limouzik,
|
organization: Limouzik,
|
||||||
name: 'Application V4',
|
name: 'Application V4',
|
||||||
description: 'Application V4',
|
description: 'Application V4',
|
||||||
tools: [React]
|
tools: [Unity3D]
|
||||||
}
|
}
|
156
src/data/Tool.ts
156
src/data/Tool.ts
|
@ -1,9 +1,16 @@
|
||||||
enum ToolType {
|
enum ToolType {
|
||||||
LANGUAGE, FRAMEWORK, LIB_OR_PACKAGE, OTHER
|
LANGUAGE = 0b0001,
|
||||||
|
FRAMEWORK = 0b0010,
|
||||||
|
LIB_OR_PACKAGE = 0b0100,
|
||||||
|
OTHER = 0b1000
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ToolPlatform {
|
enum ToolPlatform {
|
||||||
MOBILE, WEB_FRONT, WEB_BACK, SYSTEM, DESKTOP
|
MOBILE = 0b00001,
|
||||||
|
WEB_FRONT = 0b00010,
|
||||||
|
WEB_BACK = 0b00100,
|
||||||
|
SYSTEM = 0b01000,
|
||||||
|
DESKTOP = 0b10000
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Tool {
|
interface Tool {
|
||||||
|
@ -13,14 +20,28 @@ interface Tool {
|
||||||
description: string | null,
|
description: string | null,
|
||||||
icon: string | null,
|
icon: string | null,
|
||||||
url: string,
|
url: string,
|
||||||
tools: Array<Tool>,
|
depend_tools: Tool[],
|
||||||
platforms: Array<ToolPlatform>
|
developed_platforms: ToolPlatform[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export default Tool
|
export default Tool
|
||||||
|
|
||||||
// RUBY
|
// RUBY
|
||||||
|
|
||||||
|
export const TOOLS: Tool[] = [
|
||||||
|
Ruby, Rails, Php, Symfony, Sylius, Javascript, Typescript, React, Hotwire, Dart, Flutter, Rust,
|
||||||
|
Java, OpenGL, LWJGL, CSharp, Unity3D, GodotEngine
|
||||||
|
]
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param types
|
||||||
|
* @example
|
||||||
|
* filterToolByTypes(ToolType.FRAMEWORK | ToolType.LANGUAGE)
|
||||||
|
*/
|
||||||
|
export function filterToolByTypes(types: number) {
|
||||||
|
TOOLS.filter((t) => t.type.valueOf() & types > 0)
|
||||||
|
}
|
||||||
|
|
||||||
export const Ruby: Tool = {
|
export const Ruby: Tool = {
|
||||||
type: ToolType.LANGUAGE,
|
type: ToolType.LANGUAGE,
|
||||||
name: 'Ruby',
|
name: 'Ruby',
|
||||||
|
@ -28,8 +49,8 @@ export const Ruby: Tool = {
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://www.ruby-lang.org/',
|
url: 'https://www.ruby-lang.org/',
|
||||||
tools: [],
|
depend_tools: [],
|
||||||
platforms: [ToolPlatform.MOBILE, ToolPlatform.WEB_BACK]
|
developed_platforms: [ToolPlatform.MOBILE, ToolPlatform.WEB_BACK]
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Rails: Tool = {
|
export const Rails: Tool = {
|
||||||
|
@ -39,8 +60,8 @@ export const Rails: Tool = {
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://rubyonrails.org/',
|
url: 'https://rubyonrails.org/',
|
||||||
tools: [Ruby],
|
depend_tools: [Ruby],
|
||||||
platforms: [ToolPlatform.WEB_BACK]
|
developed_platforms: [ToolPlatform.WEB_BACK]
|
||||||
}
|
}
|
||||||
|
|
||||||
// PHP
|
// PHP
|
||||||
|
@ -52,8 +73,8 @@ export const Php: Tool = {
|
||||||
version: '5 et 7',
|
version: '5 et 7',
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://www.php.net/',
|
url: 'https://www.php.net/',
|
||||||
tools: [],
|
depend_tools: [],
|
||||||
platforms: [ToolPlatform.WEB_BACK]
|
developed_platforms: [ToolPlatform.WEB_BACK]
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Symfony: Tool = {
|
export const Symfony: Tool = {
|
||||||
|
@ -63,8 +84,19 @@ export const Symfony: Tool = {
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://symfony.com/',
|
url: 'https://symfony.com/',
|
||||||
tools: [Php],
|
depend_tools: [Php],
|
||||||
platforms: [ToolPlatform.WEB_BACK]
|
developed_platforms: [ToolPlatform.WEB_BACK]
|
||||||
|
}
|
||||||
|
|
||||||
|
export const Sylius: Tool = {
|
||||||
|
type: ToolType.FRAMEWORK,
|
||||||
|
name: 'Sylius',
|
||||||
|
version: '1.6',
|
||||||
|
icon: null,
|
||||||
|
description: null,
|
||||||
|
url: 'https://symfony.com/',
|
||||||
|
depend_tools: [Symfony],
|
||||||
|
developed_platforms: [ToolPlatform.WEB_BACK]
|
||||||
}
|
}
|
||||||
|
|
||||||
// JS
|
// JS
|
||||||
|
@ -76,8 +108,8 @@ export const Javascript: Tool = {
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://www.javascript.com/',
|
url: 'https://www.javascript.com/',
|
||||||
tools: [],
|
depend_tools: [],
|
||||||
platforms: [ToolPlatform.WEB_BACK, ToolPlatform.WEB_FRONT, ToolPlatform.MOBILE, ToolPlatform.DESKTOP]
|
developed_platforms: [ToolPlatform.WEB_BACK, ToolPlatform.WEB_FRONT]
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Typescript: Tool = {
|
export const Typescript: Tool = {
|
||||||
|
@ -87,8 +119,8 @@ export const Typescript: Tool = {
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://www.typescriptlang.org/',
|
url: 'https://www.typescriptlang.org/',
|
||||||
tools: [],
|
depend_tools: [],
|
||||||
platforms: Javascript.platforms
|
developed_platforms: Javascript.developed_platforms
|
||||||
}
|
}
|
||||||
|
|
||||||
export const React: Tool = {
|
export const React: Tool = {
|
||||||
|
@ -98,8 +130,8 @@ export const React: Tool = {
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://react.dev/',
|
url: 'https://react.dev/',
|
||||||
tools: [Javascript, Typescript],
|
depend_tools: [Javascript, Typescript],
|
||||||
platforms: [ToolPlatform.WEB_FRONT]
|
developed_platforms: [ToolPlatform.WEB_FRONT]
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Hotwire: Tool = {
|
export const Hotwire: Tool = {
|
||||||
|
@ -109,8 +141,8 @@ export const Hotwire: Tool = {
|
||||||
icon: null,
|
icon: null,
|
||||||
description: 'Turbo + Stimulus',
|
description: 'Turbo + Stimulus',
|
||||||
url: 'https://stimulus.hotwired.dev/',
|
url: 'https://stimulus.hotwired.dev/',
|
||||||
tools: [Javascript, Typescript, Rails],
|
depend_tools: [Javascript, Typescript, Rails],
|
||||||
platforms: [ToolPlatform.WEB_FRONT]
|
developed_platforms: [ToolPlatform.WEB_FRONT]
|
||||||
}
|
}
|
||||||
|
|
||||||
// CSS
|
// CSS
|
||||||
|
@ -124,32 +156,98 @@ export const Dart: Tool = {
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://dart.dev/',
|
url: 'https://dart.dev/',
|
||||||
tools: [],
|
depend_tools: [],
|
||||||
platforms: [ToolPlatform.MOBILE, ToolPlatform.SYSTEM, ToolPlatform.WEB_FRONT, ToolPlatform.WEB_BACK, ToolPlatform.DESKTOP]
|
developed_platforms: [ToolPlatform.MOBILE, ToolPlatform.DESKTOP]
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Flutter : Tool = {
|
export const Flutter: Tool = {
|
||||||
type: ToolType.FRAMEWORK,
|
type: ToolType.FRAMEWORK,
|
||||||
name: 'Flutter',
|
name: 'Flutter',
|
||||||
version: '2 - 3',
|
version: '2 - 3',
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://flutter.dev/',
|
url: 'https://flutter.dev/',
|
||||||
tools: [Dart],
|
depend_tools: [Dart],
|
||||||
platforms: [ToolPlatform.MOBILE, ToolPlatform.WEB_FRONT, ToolPlatform.WEB_BACK, ToolPlatform.DESKTOP]
|
developed_platforms: Dart.developed_platforms
|
||||||
}
|
}
|
||||||
|
|
||||||
// RUST
|
// RUST
|
||||||
|
|
||||||
export const Rust : Tool = {
|
export const Rust: Tool = {
|
||||||
type: ToolType.LANGUAGE,
|
type: ToolType.LANGUAGE,
|
||||||
name: 'Rust',
|
name: 'Rust',
|
||||||
version: 'Édition 2018, 2021',
|
version: 'Édition 2018, 2021',
|
||||||
icon: null,
|
icon: null,
|
||||||
description: null,
|
description: null,
|
||||||
url: 'https://www.rust-lang.org/',
|
url: 'https://www.rust-lang.org/',
|
||||||
tools: [],
|
depend_tools: [],
|
||||||
platforms: [ToolPlatform.SYSTEM, ToolPlatform.WEB_FRONT, ToolPlatform.WEB_BACK]
|
developed_platforms: [ToolPlatform.SYSTEM, ToolPlatform.WEB_FRONT, ToolPlatform.WEB_BACK]
|
||||||
}
|
}
|
||||||
|
|
||||||
// OTHER
|
// 3D
|
||||||
|
|
||||||
|
export const Java: Tool = {
|
||||||
|
type: ToolType.LANGUAGE,
|
||||||
|
name: 'Java',
|
||||||
|
version: '5 - 8',
|
||||||
|
icon: null,
|
||||||
|
description: null,
|
||||||
|
url: 'https://www.java.com/',
|
||||||
|
depend_tools: [],
|
||||||
|
developed_platforms: [ToolPlatform.MOBILE, ToolPlatform.WEB_BACK, ToolPlatform.DESKTOP]
|
||||||
|
}
|
||||||
|
|
||||||
|
export const OpenGL: Tool = {
|
||||||
|
type: ToolType.OTHER,
|
||||||
|
name: 'OpenGL',
|
||||||
|
version: '<= 4.0',
|
||||||
|
icon: null,
|
||||||
|
description: null,
|
||||||
|
url: 'https://www.opengl.org/',
|
||||||
|
depend_tools: [],
|
||||||
|
developed_platforms: [ToolPlatform.DESKTOP]
|
||||||
|
}
|
||||||
|
|
||||||
|
export const LWJGL: Tool = {
|
||||||
|
type: ToolType.LIB_OR_PACKAGE,
|
||||||
|
name: 'LWJGL',
|
||||||
|
version: '2 et 3',
|
||||||
|
icon: null,
|
||||||
|
description: null,
|
||||||
|
url: 'https://www.opengl.org/',
|
||||||
|
depend_tools: [Java, OpenGL],
|
||||||
|
developed_platforms: [ToolPlatform.DESKTOP]
|
||||||
|
}
|
||||||
|
|
||||||
|
export const CSharp: Tool = {
|
||||||
|
type: ToolType.LANGUAGE,
|
||||||
|
name: 'C#',
|
||||||
|
version: null,
|
||||||
|
icon: null,
|
||||||
|
description: null,
|
||||||
|
url: 'https://www.microsoft.com',
|
||||||
|
depend_tools: [],
|
||||||
|
developed_platforms: [ToolPlatform.DESKTOP, ToolPlatform.MOBILE, ToolPlatform.WEB_FRONT]
|
||||||
|
}
|
||||||
|
|
||||||
|
export const Unity3D: Tool = {
|
||||||
|
type: ToolType.OTHER,
|
||||||
|
name: 'Unity3D',
|
||||||
|
version: '2018-2019',
|
||||||
|
icon: null,
|
||||||
|
description: null,
|
||||||
|
url: 'https://unity.com/',
|
||||||
|
depend_tools: [CSharp, OpenGL],
|
||||||
|
developed_platforms: CSharp.developed_platforms
|
||||||
|
}
|
||||||
|
|
||||||
|
export const GodotEngine: Tool = {
|
||||||
|
type: ToolType.OTHER,
|
||||||
|
name: 'GodotEngine',
|
||||||
|
version: '3.x',
|
||||||
|
icon: null,
|
||||||
|
description: null,
|
||||||
|
url: 'https://godotengine.org/',
|
||||||
|
depend_tools: [CSharp, OpenGL],
|
||||||
|
developed_platforms: CSharp.developed_platforms
|
||||||
|
}
|
Loading…
Reference in a new issue