Add tags
This commit is contained in:
parent
d025aded31
commit
6391f4abf4
9 changed files with 102 additions and 622 deletions
|
@ -5,6 +5,31 @@ import TimelineLabel from './timeline/TimelineLabel'
|
|||
import TimelineCard from './timeline/TimelineCard'
|
||||
import TimelineCardSummary from './timeline/TimelineCardSummary'
|
||||
import TimelineCardContent from './timeline/TimelineCardContent'
|
||||
import Tag from './Tag'
|
||||
|
||||
const REACT_TAG = <Tag name="React" url="https://fr.legacy.reactjs.org/" />
|
||||
const SYMFONY_4_TAG = <Tag name="Symfony 4" url="https://symfony.com/" />
|
||||
const FLUTTER_TAG = <Tag name="Flutter" url="https://flutter.dev/" />
|
||||
const RUBY_ON_RAILS_TAG = <Tag name="Ruby on rails" url="https://rubyonrails.org/" />
|
||||
const HOTWIRED_TAG = <Tag name="Hotwired" url="https://hotwired.dev/" />
|
||||
const RUST_TAG = <Tag name="Rust" url="https://www.rust-lang.org/" />
|
||||
const DOCKER_TAG = <Tag name="Docker" url="https://www.docker.com/" />
|
||||
const STEAM_TAG = <Tag name="Steam API" url="https://partner.steamgames.com/doc/sdk/api/example" />
|
||||
const GITLAB_CI_TAG = <Tag name="Gitlab CI" url="https://docs.gitlab.com/ee/ci/" />
|
||||
const UNITY_TAG = <Tag name="Unity 3D" url="https://unity.com/fr" />
|
||||
const WORDPRESS_TAG = <Tag name="Wordpress" url="https://wordpress.com/fr/" />
|
||||
const CORDOVA_TAG = <Tag name="Cordova" url="https://cordova.apache.org/" />
|
||||
const ELECTRON_TAG = <Tag name="Electron" url="https://www.electronjs.org/" />
|
||||
const LWJGL_TAG = <Tag name="LWJGL" url="https://www.lwjgl.org/" />
|
||||
const OPENGL_TAG = <Tag name="OpenGL" url="https://www.opengl.org/" />
|
||||
const VULKAN_TAG = <Tag name="Vulkan" url="https://www.vulkan.org/" />
|
||||
const JAVA_TAG = <Tag name="Java" url="https://www.java.com/fr/" />
|
||||
const MIDI_TAG = <Tag name="MIDI" url="https://fr.wikipedia.org/wiki/Musical_Instrument_Digital_Interface" />
|
||||
const REQUIREJS_TAG = <Tag name="RequireJS" url="https://requirejs.org/" />
|
||||
const WEBPACK_TAG = <Tag name="Webpack" url="https://webpack.js.org/" />
|
||||
const VITE_TAG = <Tag name="Vite" url="https://vitejs.dev/" />
|
||||
const MAVEN_TAG = <Tag name="Maven" url="https://maven.apache.org/" />
|
||||
const GRADLE_TAG = <Tag name="Gradle" url="https://gradle.org/" />
|
||||
|
||||
function MonParcours() {
|
||||
return (
|
||||
|
@ -13,28 +38,38 @@ function MonParcours() {
|
|||
<TimelineElement>
|
||||
<TimelineLabel>2019 - Aujourd’hui</TimelineLabel>
|
||||
<TimelineCard>
|
||||
<TimelineCardSummary>Développeur d’application Web, Mobile et Système (CDI)</TimelineCardSummary>
|
||||
<TimelineCardSummary
|
||||
tags={[
|
||||
REACT_TAG, SYMFONY_4_TAG, FLUTTER_TAG, RUBY_ON_RAILS_TAG, HOTWIRED_TAG, RUST_TAG, WEBPACK_TAG, VITE_TAG, GRADLE_TAG
|
||||
]}
|
||||
>
|
||||
Développeur d’application Web, Mobile et Système (CDI)
|
||||
</TimelineCardSummary>
|
||||
<TimelineCardContent>
|
||||
<p>Développement d’application Symfony, React, Flutter, Rust et Ruby on rails (6 et 7) pour des clients.</p><br/>
|
||||
<p>Je développe surtout des applications Flutter et Ruby on rails avec l’aide de Hotwired.</p><br/>
|
||||
<p>Développement d’application Symfony, React, Flutter, Rust et Ruby on rails (6 et 7) pour des clients.</p><br />
|
||||
<p>Je développe surtout des applications Flutter et Ruby on rails avec l’aide de Hotwired.</p><br />
|
||||
|
||||
<i>Unova France</i><br />
|
||||
<i>11 Septembre 2019 - Toujours en CDI</i><br/><br />
|
||||
<i>React</i>, <i>Symfony 4</i>, <i>Flutter</i>, <i>Ruby on rails (UJS et Hotwired)</i>, <i>Rust</i>
|
||||
<i>11 Septembre 2019 - Toujours en CDI</i><br /><br />
|
||||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
</TimelineElement>
|
||||
<TimelineElement>
|
||||
<TimelineLabel>2018 - 2019</TimelineLabel>
|
||||
<TimelineCard>
|
||||
<TimelineCardSummary>Développeur Web Symfony 4 et de Jeu avec Unity 3D (CDI)</TimelineCardSummary>
|
||||
<TimelineCardSummary
|
||||
tags={[
|
||||
UNITY_TAG, SYMFONY_4_TAG, GITLAB_CI_TAG, STEAM_TAG, DOCKER_TAG, MIDI_TAG
|
||||
]}
|
||||
>
|
||||
Développeur Web Symfony 4 et de Jeu avec Unity 3D (CDI)
|
||||
</TimelineCardSummary>
|
||||
<TimelineCardContent>
|
||||
<p>Développement du Site en Symfony 4 (Changement graphique, ajout de fonctionnalité)</p><br />
|
||||
<p>Intégration du déploiement continue de la nouvelle application Limouzik refaite sous Unity 3D sur Steam</p><br/>
|
||||
<p>Intégration du déploiement continue de la nouvelle application Limouzik refaite sous Unity 3D sur Steam</p><br />
|
||||
|
||||
<i>Limouzik SAS</i><br />
|
||||
<i>03 Septembre 2018 - 31 Juillet 2019 (Rupture pour raison économique)</i><br/><br />
|
||||
<i>Unity 3D</i>, <i>Symfony 4</i>, <i>Gitlab CI</i>, <i>Steam API</i>, <i>Docker</i>
|
||||
<i>03 Septembre 2018 - 31 Juillet 2019 (Rupture pour raison économique)</i>
|
||||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
</TimelineElement>
|
||||
|
@ -50,7 +85,13 @@ function MonParcours() {
|
|||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
<TimelineCard>
|
||||
<TimelineCardSummary>Développeur Web Symfony 4 (Projet Tuteuré)</TimelineCardSummary>
|
||||
<TimelineCardSummary
|
||||
tags={[
|
||||
SYMFONY_4_TAG
|
||||
]}
|
||||
>
|
||||
Développeur Web Symfony 4 (Projet Tuteuré)
|
||||
</TimelineCardSummary>
|
||||
<TimelineCardContent>
|
||||
<p>Développement du site sliz.me avec Symfony 4.</p><br />
|
||||
<p>Ajout de QRCode sur l'ensemble des pages d'un fichier PDF pour que d'autres personnes puissent télécharger le PDF ou une page en question durant une conférence.</p><br />
|
||||
|
@ -61,7 +102,13 @@ function MonParcours() {
|
|||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
<TimelineCard>
|
||||
<TimelineCardSummary>Développeur Web Symfony 4 et de Jeu avec Unity 3D (Alternance)</TimelineCardSummary>
|
||||
<TimelineCardSummary
|
||||
tags={[
|
||||
UNITY_TAG, SYMFONY_4_TAG, STEAM_TAG, REACT_TAG, WORDPRESS_TAG, CORDOVA_TAG, ELECTRON_TAG, MIDI_TAG, WEBPACK_TAG
|
||||
]}
|
||||
>
|
||||
Développeur Web Symfony 4 et de Jeu avec Unity 3D (Alternance)
|
||||
</TimelineCardSummary>
|
||||
<TimelineCardContent>
|
||||
<p>Maintenance de la version du site en Wordpress + Refonte complète du site (Graphique et technique) avec Symfony 4.</p><br />
|
||||
|
||||
|
@ -70,9 +117,10 @@ function MonParcours() {
|
|||
<p>Ajout de l’application Limouzik sur le Play Store (Android), AppStore (iOS) et sur Steam (PC) avec l’intégration de SteamAPI</p><br />
|
||||
|
||||
<i>L’ensemble du travail a été effectué par mes soins</i><br /><br />
|
||||
|
||||
|
||||
<i>Limouzik SAS</i><br />
|
||||
<i>04 Septembre 2017 - 24 Aout 2018</i><br /><br />
|
||||
<i>Unity 3D</i>, <i>Symfony 4</i>, <i>Steam API</i>, <i>React</i>, <i>Wordpress</i>
|
||||
<i>04 Septembre 2017 - 24 Aout 2018</i>
|
||||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
</TimelineElement>
|
||||
|
@ -86,7 +134,13 @@ function MonParcours() {
|
|||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
<TimelineCard>
|
||||
<TimelineCardSummary>Développement d’application Web React et MIDI + Site Wordpress (Stage + CDD)</TimelineCardSummary>
|
||||
<TimelineCardSummary
|
||||
tags={[
|
||||
REACT_TAG, WORDPRESS_TAG, MIDI_TAG, REQUIREJS_TAG
|
||||
]}
|
||||
>
|
||||
Développement d’application Web React et MIDI + Site Wordpress (Stage + CDD)
|
||||
</TimelineCardSummary>
|
||||
<TimelineCardContent>
|
||||
<p>Développement d’une application musicale en utilisant le protocole MIDI (+ Synthèse sonore).</p><br />
|
||||
<p>La partie affichage a été développé avec React et RequireJS (Gestion de module).</p><br />
|
||||
|
@ -110,24 +164,30 @@ function MonParcours() {
|
|||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
<TimelineCard>
|
||||
<TimelineCardSummary>Développement en Java (Perso)</TimelineCardSummary>
|
||||
<TimelineCardSummary
|
||||
tags={[
|
||||
JAVA_TAG, MAVEN_TAG
|
||||
]}
|
||||
>
|
||||
Développement en Java (Perso)
|
||||
</TimelineCardSummary>
|
||||
<TimelineCardContent>
|
||||
<p>Apprentissage dans un premier temps du langage avec le site du zéro et les quelques vidéos sur Youtube.</p><br />
|
||||
<p>Ensuite, j'ai commencé à développer des projets Perso (Plugin Minecraft, Mod Minecraft) dans un premier temps.</p><br />
|
||||
<p>Puis, j'ai commencé à développer des petits jeux de A à Z (Petit moteur de physique + graphique + audio) et à m'entrainer avec des amis pour participer à des concours comme le Ludum dare et la Global Game Jam.</p><br />
|
||||
|
||||
<i>Java 1.5, 1.6, 1.7, 8</i><br />
|
||||
<i>Maven et Gradle</i>
|
||||
<p>Puis, j'ai commencé à développer des petits jeux de A à Z (Petit moteur de physique + graphique + audio) et à m'entrainer avec des amis pour participer à des concours comme le Ludum dare et la Global Game Jam.</p>
|
||||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
<TimelineCard>
|
||||
<TimelineCardSummary>Utilisation de l’API graphique OpenGL (Perso)</TimelineCardSummary>
|
||||
<TimelineCardSummary
|
||||
tags={[
|
||||
LWJGL_TAG, OPENGL_TAG
|
||||
]}
|
||||
>
|
||||
Utilisation de l’API graphique OpenGL (Perso)
|
||||
</TimelineCardSummary>
|
||||
<TimelineCardContent>
|
||||
<p>Après avoir développé quelques trucs sur Minecraft. Je me suis interessé à son fonctionnement et j'ai découvert la librairie LWJGL utilisé dans Minecraft.</p><br />
|
||||
<p>J'ai très vite voulu développer mes propres Mini-Jeux en OpenGL avec cette librairie.</p><br />
|
||||
|
||||
<i>LWJGL 2 et 3</i><br />
|
||||
<i>OpenGL 2 et OpenGL Modern (3.3+)</i>
|
||||
<p>J'ai très vite voulu développer mes propres Mini-Jeux en OpenGL avec cette librairie.</p>
|
||||
</TimelineCardContent>
|
||||
</TimelineCard>
|
||||
</TimelineElement>
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
.tag {
|
||||
@apply text-white bg-gray-500 rounded-lg px-3 py-1 font-thin text-sm;
|
||||
}
|
|
@ -1,14 +1,15 @@
|
|||
import './Tag.scss'
|
||||
|
||||
interface TagProps {
|
||||
name: string
|
||||
name: string,
|
||||
url?: string
|
||||
}
|
||||
|
||||
function Tag(props: TagProps) {
|
||||
function Tag({ name, url }: TagProps) {
|
||||
return (
|
||||
<span className="tag">
|
||||
{props.name}
|
||||
</span>
|
||||
<a className="tag" href={url} target='_blank'>
|
||||
{name}
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import react, {ReactNode} from 'react'
|
||||
import Project from '../../data/Project'
|
||||
|
||||
type TimelineCardContentProps = {
|
||||
children: ReactNode
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
import react, {ReactNode} from 'react'
|
||||
import Project from '../../data/Project'
|
||||
|
||||
type TimelineCardSummaryProps = {
|
||||
children: ReactNode
|
||||
children: ReactNode,
|
||||
tags?: ReactNode[]
|
||||
}
|
||||
|
||||
function TimelineCardSummary({ children } : TimelineCardSummaryProps) {
|
||||
function TimelineCardSummary({ children, tags } : TimelineCardSummaryProps) {
|
||||
return (
|
||||
<>{children}</>
|
||||
<>
|
||||
{children}
|
||||
{
|
||||
tags && <div className='flex flex-wrap gap-2 mt-2'>
|
||||
{ tags }
|
||||
</div>
|
||||
}
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import react, {ReactNode} from 'react'
|
||||
import Project from '../../data/Project'
|
||||
|
||||
type TimelineLabelProps = {
|
||||
children: ReactNode
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
interface Organization {
|
||||
name: string,
|
||||
siren: string,
|
||||
site_web: string,
|
||||
}
|
||||
|
||||
export default Organization
|
||||
|
||||
export const Limouzik: Organization = {
|
||||
name: 'Limouzik',
|
||||
siren: '824148738',
|
||||
site_web: 'https://limouzik.com/'
|
||||
}
|
||||
|
||||
export const Unova: Organization = {
|
||||
name: 'Unova',
|
||||
siren: '824505689',
|
||||
site_web: 'https://www.unova.fr/'
|
||||
}
|
||||
|
||||
export const Autoentreprise: Organization = {
|
||||
name: 'Ma micro-entreprise',
|
||||
siren: '852444964',
|
||||
site_web: 'https://florianricher.fr/'
|
||||
}
|
||||
|
|
@ -1,150 +0,0 @@
|
|||
import Organization, {Limouzik, Unova} from "./Organization";
|
||||
import Tool, {
|
||||
Symfony,
|
||||
React,
|
||||
Unity3D,
|
||||
MIDI,
|
||||
SteamAPI,
|
||||
RequireJS,
|
||||
Webpack,
|
||||
Cordova,
|
||||
Electron,
|
||||
GodotEngine, Javascript, Rails, Flutter, Sylius, Java, OpenGL, Tailwind, Hotwire, Rust
|
||||
} from "./Tool";
|
||||
|
||||
interface Project {
|
||||
organization: Organization | null,
|
||||
name: string,
|
||||
description: string,
|
||||
start_date: Date,
|
||||
end_date: Date | null,
|
||||
tools: Tool[]
|
||||
}
|
||||
|
||||
export default Project
|
||||
|
||||
// LIMOUZIK
|
||||
|
||||
export const SiteWebLimouzik: Project = {
|
||||
organization: Limouzik,
|
||||
name: 'Site web Limouzik',
|
||||
description: 'Site web Limouzik',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Symfony]
|
||||
}
|
||||
|
||||
export const LimouzikV2: Project = {
|
||||
organization: Limouzik,
|
||||
name: 'Application V2',
|
||||
description: 'Application V2',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [React, MIDI, SteamAPI, RequireJS]
|
||||
}
|
||||
|
||||
export const LimouzikV3: Project = {
|
||||
organization: Limouzik,
|
||||
name: 'Application V3',
|
||||
description: 'Application V3',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [React, MIDI, SteamAPI, Webpack, Cordova, Electron]
|
||||
}
|
||||
|
||||
export const LimouzikV4: Project = {
|
||||
organization: Limouzik,
|
||||
name: 'Application V4',
|
||||
description: 'Application V4',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Unity3D, MIDI, SteamAPI]
|
||||
}
|
||||
|
||||
// UNOVA
|
||||
|
||||
export const Itamelia: Project = {
|
||||
organization: Unova,
|
||||
name: 'Itamelia',
|
||||
description: 'Itamelia',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Sylius, Javascript]
|
||||
}
|
||||
|
||||
export const Scopema: Project = {
|
||||
organization: Unova,
|
||||
name: 'Scopema',
|
||||
description: 'Scopema',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [GodotEngine, React]
|
||||
}
|
||||
|
||||
export const NWE: Project = {
|
||||
organization: Unova,
|
||||
name: 'NWE',
|
||||
description: 'NWE',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Rails, React, Flutter]
|
||||
}
|
||||
|
||||
export const SJLM: Project = {
|
||||
organization: Unova,
|
||||
name: 'Saint just le martel',
|
||||
description: 'Saint just le martel',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Rails, Flutter]
|
||||
}
|
||||
|
||||
export const StepReadyGo: Project = {
|
||||
organization: Unova,
|
||||
name: 'StepReadyGo',
|
||||
description: 'StepReadyGo',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Rails, Flutter, OpenGL]
|
||||
}
|
||||
|
||||
export const Ubermed: Project = {
|
||||
organization: Unova,
|
||||
name: 'Oméa',
|
||||
description: 'Oméa',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Rails, Flutter]
|
||||
}
|
||||
|
||||
export const PerAnkh: Project = {
|
||||
organization: Unova,
|
||||
name: 'PerAnkh',
|
||||
description: 'PerAnkh',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Rails, Flutter, Tailwind, Hotwire, Webpack]
|
||||
}
|
||||
|
||||
export const Doorsav: Project = {
|
||||
organization: Unova,
|
||||
name: 'Doorsav',
|
||||
description: 'Doorsav',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Rails, Tailwind, Hotwire]
|
||||
}
|
||||
|
||||
export const Machoke: Project = {
|
||||
organization: Unova,
|
||||
name: 'Machoke',
|
||||
description: 'Machoke',
|
||||
start_date: new Date('2017-05-01'),
|
||||
end_date: new Date('2019-07-31'),
|
||||
tools: [Rust, Rails, Tailwind, Hotwire]
|
||||
}
|
||||
|
||||
export const PROJECTS: Project[] = [
|
||||
SiteWebLimouzik, LimouzikV2, LimouzikV3, LimouzikV4,
|
||||
Itamelia, NWE, Doorsav, PerAnkh, Ubermed, SJLM, Scopema, StepReadyGo, Machoke
|
||||
]
|
411
src/data/Tool.ts
411
src/data/Tool.ts
|
@ -1,411 +0,0 @@
|
|||
import RUBY_IMG from '../assets/images/tools/ruby.svg'
|
||||
import RUBY_ON_RAILS_IMG from '../assets/images/tools/ruby_on_rails.svg'
|
||||
import PHP_IMG from '../assets/images/tools/php.svg'
|
||||
import SYMFONY_IMG from '../assets/images/tools/symfony.svg'
|
||||
import SYLIUS_IMG from '../assets/images/tools/sylius.png'
|
||||
import JAVASCRIPT_IMG from '../assets/images/tools/javascript.svg'
|
||||
import TYPESCRIPT_IMG from '../assets/images/tools/typescript.svg'
|
||||
import REACT_IMG from '../assets/images/tools/react.svg'
|
||||
import HOTWIRE_IMG from '../assets/images/tools/hotwire.svg'
|
||||
import CSS_IMG from '../assets/images/tools/css3.svg'
|
||||
import SASS_IMG from '../assets/images/tools/sass.svg'
|
||||
import TAILWIND_IMG from '../assets/images/tools/tailwindcss.svg'
|
||||
import BOOTSTRAP_IMG from '../assets/images/tools/bootstrap.svg'
|
||||
import DART_IMG from '../assets/images/tools/dart.svg'
|
||||
import FLUTTER_IMG from '../assets/images/tools/flutter.svg'
|
||||
import RUST_IMG from '../assets/images/tools/rust.svg'
|
||||
import JAVA_IMG from '../assets/images/tools/java.svg'
|
||||
import OPENGL_IMG from '../assets/images/tools/opengl.svg'
|
||||
import LWJGL_IMG from '../assets/images/tools/lwjgl.svg'
|
||||
import CSHARP_IMG from '../assets/images/tools/csharp.svg'
|
||||
import UNITY3D_IMG from '../assets/images/tools/unity3d.svg'
|
||||
import GODOTENGINE_IMG from '../assets/images/tools/godotengine.svg'
|
||||
import WEBPACK_IMG from '../assets/images/tools/webpack.svg'
|
||||
import VITE_IMG from '../assets/images/tools/vite.svg'
|
||||
import REQUIREJS_IMG from '../assets/images/tools/requirejs.svg'
|
||||
import STEAMAPI_IMG from '../assets/images/tools/steamapi.svg'
|
||||
import MIDI_IMG from '../assets/images/tools/midi.svg'
|
||||
import CORDOVA_IMG from '../assets/images/tools/cordova.svg'
|
||||
import ELECTRON_IMG from '../assets/images/tools/electron.svg'
|
||||
|
||||
enum ToolType {
|
||||
LANGUAGE = 0b0001,
|
||||
FRAMEWORK = 0b0010,
|
||||
LIB_OR_PACKAGE = 0b0100,
|
||||
OTHER = 0b1000
|
||||
}
|
||||
|
||||
enum ToolPlatform {
|
||||
MOBILE = 0b00001,
|
||||
WEB_FRONT = 0b00010,
|
||||
WEB_BACK = 0b00100,
|
||||
SYSTEM = 0b01000,
|
||||
DESKTOP = 0b10000
|
||||
}
|
||||
|
||||
interface Tool {
|
||||
type: ToolType,
|
||||
name: string,
|
||||
version: string | null,
|
||||
description: string | null,
|
||||
icon: string | null,
|
||||
url: string,
|
||||
depend_tools: Tool[],
|
||||
developed_platforms: ToolPlatform[]
|
||||
}
|
||||
|
||||
export default Tool
|
||||
|
||||
// RUBY
|
||||
|
||||
export const Ruby: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'Ruby',
|
||||
version: '2.7 - 3.2',
|
||||
icon: RUBY_IMG,
|
||||
description: null,
|
||||
url: 'https://www.ruby-lang.org/',
|
||||
depend_tools: [],
|
||||
developed_platforms: [ToolPlatform.MOBILE, ToolPlatform.WEB_BACK]
|
||||
}
|
||||
|
||||
export const Rails: Tool = {
|
||||
type: ToolType.FRAMEWORK,
|
||||
name: 'Ruby on rails',
|
||||
version: '5.1 - 7.0',
|
||||
icon: RUBY_ON_RAILS_IMG,
|
||||
description: null,
|
||||
url: 'https://rubyonrails.org/',
|
||||
depend_tools: [Ruby],
|
||||
developed_platforms: [ToolPlatform.WEB_BACK]
|
||||
}
|
||||
|
||||
// PHP
|
||||
|
||||
export const Php: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'PHP',
|
||||
icon: PHP_IMG,
|
||||
version: '5 et 7',
|
||||
description: null,
|
||||
url: 'https://www.php.net/',
|
||||
depend_tools: [],
|
||||
developed_platforms: [ToolPlatform.WEB_BACK]
|
||||
}
|
||||
|
||||
export const Symfony: Tool = {
|
||||
type: ToolType.FRAMEWORK,
|
||||
name: 'Symfony',
|
||||
version: '4.0 - 5.0',
|
||||
icon: SYMFONY_IMG,
|
||||
description: null,
|
||||
url: 'https://symfony.com/',
|
||||
depend_tools: [Php],
|
||||
developed_platforms: [ToolPlatform.WEB_BACK]
|
||||
}
|
||||
|
||||
export const Sylius: Tool = {
|
||||
type: ToolType.FRAMEWORK,
|
||||
name: 'Sylius',
|
||||
version: '1.6',
|
||||
icon: SYLIUS_IMG,
|
||||
description: null,
|
||||
url: 'https://symfony.com/',
|
||||
depend_tools: [Symfony],
|
||||
developed_platforms: [ToolPlatform.WEB_BACK]
|
||||
}
|
||||
|
||||
// JS
|
||||
|
||||
export const Javascript: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'Javascript',
|
||||
version: null,
|
||||
icon: JAVASCRIPT_IMG,
|
||||
description: null,
|
||||
url: 'https://www.javascript.com/',
|
||||
depend_tools: [],
|
||||
developed_platforms: [ToolPlatform.WEB_BACK, ToolPlatform.WEB_FRONT]
|
||||
}
|
||||
|
||||
export const Typescript: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'Typescript',
|
||||
version: null,
|
||||
icon: TYPESCRIPT_IMG,
|
||||
description: null,
|
||||
url: 'https://www.typescriptlang.org/',
|
||||
depend_tools: [],
|
||||
developed_platforms: Javascript.developed_platforms
|
||||
}
|
||||
|
||||
export const React: Tool = {
|
||||
type: ToolType.FRAMEWORK,
|
||||
name: 'React',
|
||||
version: '14, 15, 16, 17, 18',
|
||||
icon: REACT_IMG,
|
||||
description: null,
|
||||
url: 'https://react.dev/',
|
||||
depend_tools: [Javascript, Typescript],
|
||||
developed_platforms: [ToolPlatform.WEB_FRONT]
|
||||
}
|
||||
|
||||
export const Hotwire: Tool = {
|
||||
type: ToolType.FRAMEWORK,
|
||||
name: 'Hotwire',
|
||||
version: '2 - 3',
|
||||
icon: HOTWIRE_IMG,
|
||||
description: 'Turbo + Stimulus',
|
||||
url: 'https://stimulus.hotwired.dev/',
|
||||
depend_tools: [Javascript, Typescript, Rails],
|
||||
developed_platforms: [ToolPlatform.WEB_FRONT]
|
||||
}
|
||||
|
||||
// CSS
|
||||
|
||||
export const CSS: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'CSS',
|
||||
version: null,
|
||||
icon: CSS_IMG,
|
||||
description: null,
|
||||
url: 'https://www.w3schools.com/css/',
|
||||
depend_tools: [],
|
||||
developed_platforms: [ToolPlatform.MOBILE, ToolPlatform.DESKTOP, ToolPlatform.WEB_FRONT]
|
||||
}
|
||||
|
||||
export const SASS: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'SASS',
|
||||
version: null,
|
||||
icon: SASS_IMG,
|
||||
description: null,
|
||||
url: 'https://sass-lang.com/',
|
||||
depend_tools: [CSS],
|
||||
developed_platforms: CSS.developed_platforms
|
||||
}
|
||||
|
||||
export const Tailwind: Tool = {
|
||||
type: ToolType.OTHER,
|
||||
name: 'Tailwind',
|
||||
version: null,
|
||||
icon: TAILWIND_IMG,
|
||||
description: null,
|
||||
url: 'https://tailwindcss.com/',
|
||||
depend_tools: [SASS],
|
||||
developed_platforms: SASS.developed_platforms
|
||||
}
|
||||
|
||||
export const Bootstrap: Tool = {
|
||||
type: ToolType.OTHER,
|
||||
name: 'Bootstrap',
|
||||
version: null,
|
||||
icon: BOOTSTRAP_IMG,
|
||||
description: null,
|
||||
url: 'https://getbootstrap.com/',
|
||||
depend_tools: [CSS],
|
||||
developed_platforms: CSS.developed_platforms
|
||||
}
|
||||
|
||||
// FLUTTER
|
||||
|
||||
export const Dart: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'Dart',
|
||||
version: '2 - 3',
|
||||
icon: DART_IMG,
|
||||
description: null,
|
||||
url: 'https://dart.dev/',
|
||||
depend_tools: [],
|
||||
developed_platforms: [ToolPlatform.MOBILE, ToolPlatform.DESKTOP]
|
||||
}
|
||||
|
||||
export const Flutter: Tool = {
|
||||
type: ToolType.FRAMEWORK,
|
||||
name: 'Flutter',
|
||||
version: '2 - 3',
|
||||
icon: FLUTTER_IMG,
|
||||
description: null,
|
||||
url: 'https://flutter.dev/',
|
||||
depend_tools: [Dart],
|
||||
developed_platforms: Dart.developed_platforms
|
||||
}
|
||||
|
||||
// RUST
|
||||
|
||||
export const Rust: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'Rust',
|
||||
version: 'Édition 2018, 2021',
|
||||
icon: RUST_IMG,
|
||||
description: null,
|
||||
url: 'https://www.rust-lang.org/',
|
||||
depend_tools: [],
|
||||
developed_platforms: [ToolPlatform.SYSTEM, ToolPlatform.WEB_FRONT, ToolPlatform.WEB_BACK]
|
||||
}
|
||||
|
||||
// 3D
|
||||
|
||||
export const Java: Tool = {
|
||||
type: ToolType.LANGUAGE,
|
||||
name: 'Java',
|
||||
version: '5 - 8',
|
||||
icon: JAVA_IMG,
|
||||
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: OPENGL_IMG,
|
||||
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: LWJGL_IMG,
|
||||
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: CSHARP_IMG,
|
||||
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: UNITY3D_IMG,
|
||||
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: GODOTENGINE_IMG,
|
||||
description: null,
|
||||
url: 'https://godotengine.org/',
|
||||
depend_tools: [CSharp, OpenGL],
|
||||
developed_platforms: CSharp.developed_platforms
|
||||
}
|
||||
|
||||
// Builder
|
||||
|
||||
export const Webpack: Tool = {
|
||||
type: ToolType.OTHER,
|
||||
name: 'Webpack',
|
||||
version: null,
|
||||
icon: WEBPACK_IMG,
|
||||
description: null,
|
||||
url: 'https://webpack.js.org/',
|
||||
depend_tools: [],
|
||||
developed_platforms: CSS.developed_platforms
|
||||
}
|
||||
|
||||
export const Vite: Tool = {
|
||||
type: ToolType.OTHER,
|
||||
name: 'Vite',
|
||||
version: null,
|
||||
icon: VITE_IMG,
|
||||
description: null,
|
||||
url: 'https://vitejs.dev/',
|
||||
depend_tools: [],
|
||||
developed_platforms: CSS.developed_platforms
|
||||
}
|
||||
|
||||
export const RequireJS: Tool = {
|
||||
type: ToolType.OTHER,
|
||||
name: 'RequireJS',
|
||||
version: null,
|
||||
icon: REQUIREJS_IMG,
|
||||
description: null,
|
||||
url: 'https://requirejs.org/',
|
||||
depend_tools: [],
|
||||
developed_platforms: CSS.developed_platforms
|
||||
}
|
||||
|
||||
// Other
|
||||
|
||||
export const SteamAPI: Tool = {
|
||||
type: ToolType.LIB_OR_PACKAGE,
|
||||
name: 'SteamAPI',
|
||||
version: null,
|
||||
icon: STEAMAPI_IMG,
|
||||
description: null,
|
||||
url: 'https://steamcommunity.com/dev',
|
||||
depend_tools: [],
|
||||
developed_platforms: Unity3D.developed_platforms
|
||||
}
|
||||
|
||||
export const MIDI: Tool = {
|
||||
type: ToolType.OTHER,
|
||||
name: 'MIDI',
|
||||
version: null,
|
||||
icon: MIDI_IMG,
|
||||
description: null,
|
||||
url: 'https://en.wikipedia.org/wiki/MIDI',
|
||||
depend_tools: [],
|
||||
developed_platforms: Unity3D.developed_platforms
|
||||
}
|
||||
|
||||
export const Cordova: Tool = {
|
||||
type: ToolType.OTHER,
|
||||
name: 'Cordova',
|
||||
version: null,
|
||||
icon: CORDOVA_IMG,
|
||||
description: null,
|
||||
url: 'https://cordova.apache.org/',
|
||||
depend_tools: [],
|
||||
developed_platforms: [ToolPlatform.MOBILE]
|
||||
}
|
||||
|
||||
export const Electron: Tool = {
|
||||
type: ToolType.OTHER,
|
||||
name: 'Electron',
|
||||
version: null,
|
||||
icon: ELECTRON_IMG,
|
||||
description: null,
|
||||
url: 'https://www.electronjs.org/',
|
||||
depend_tools: [],
|
||||
developed_platforms: [ToolPlatform.DESKTOP]
|
||||
}
|
||||
|
||||
|
||||
export const TOOLS: Tool[] = [
|
||||
Ruby, Rails, Php, Symfony, Sylius, Javascript, Typescript, React, Hotwire, Dart, Flutter, Rust,
|
||||
CSS, SASS, Tailwind, Bootstrap,
|
||||
Webpack, RequireJS, Vite,
|
||||
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)
|
||||
}
|
Loading…
Reference in a new issue