diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..d64710fb --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +.DS_Store +node_modules +dist +functions +.firebaserc +firebase.json +.firebase diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..bc4cd6a8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM node:lts AS runtime +WORKDIR /app + +COPY . . + +RUN npm install +RUN npm install -g pnpm +RUN npm run build + +ENV HOST=0.0.0.0 +ENV PORT=4321 +EXPOSE 4321 +CMD node ./dist/server/entry.mjs \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs index 0689fb39..025da070 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -4,13 +4,14 @@ import tailwind from "@astrojs/tailwind"; import nodejs from "@astrojs/node"; import astroI18next from "astro-i18next"; + // https://astro.build/config export default defineConfig({ - site: "https://gdgpescara.github.io", // TODO: remove after setting the real deploy - base: '/hedwig', // TODO: remove after setting the real deploy + //site: "https://gdgpescara.github.io", // TODO: remove after setting the real deploy + //base: '/hedwig', // TODO: remove after setting the real deploy integrations: [react(), tailwind(),astroI18next()], - output: "hybrid", + output: "server", adapter: nodejs({ - mode: "middleware", + mode: "standalone", }), }); diff --git a/firebase.json b/firebase.json index bde6606a..17971333 100644 --- a/firebase.json +++ b/firebase.json @@ -1,13 +1,3 @@ { - "functions": { - "source": "functions" - }, - "hosting": { - "public": "dist", - "ignore": [ - "firebase.json", - "**/.*", - "**/node_modules/**" - ] - } + } diff --git a/package.json b/package.json index fb7085da..097dfffc 100644 --- a/package.json +++ b/package.json @@ -12,13 +12,15 @@ "generate-translations": "npx astro-i18next generate" }, "dependencies": { - "@astrojs/node": "^6.0.0", + "@astrojs/node": "^6.0.3", "@astrojs/react": "^2.2.1", "@astrojs/tailwind": "^5.0.0", + "@astrojs/vercel": "^5.0.2", "@splidejs/splide": "^4.1.4", "@types/react": "^18.0.21", "@types/react-dom": "^18.0.6", "astro": "^3.0.8", + "astro-firebase": "^0.0.3", "astro-i18next": "1.0.0-beta.21", "clsx": "^2.0.0", "daisyui": "^3.1.6", diff --git a/public/404.html b/public/404.html new file mode 100644 index 00000000..829eda8f --- /dev/null +++ b/public/404.html @@ -0,0 +1,33 @@ + + +
+ + +The specified file was not found on this website. Please check the URL for mistakes and try again.
+This page was generated by the Firebase Command-Line Interface. To modify it, edit the 404.html
file in your project's configured public
directory.
You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary!
- Open Hosting Documentation -Firebase SDK Loading…
- - - - diff --git a/src/assets/sponsors/aesys.png b/src/assets/sponsors/aesys.png new file mode 100644 index 00000000..a41c5a15 Binary files /dev/null and b/src/assets/sponsors/aesys.png differ diff --git a/src/assets/sponsors/futura.svg b/src/assets/sponsors/futura.svg new file mode 100644 index 00000000..c977a1cb --- /dev/null +++ b/src/assets/sponsors/futura.svg @@ -0,0 +1,19 @@ + + \ No newline at end of file diff --git a/src/assets/sponsors/innovalley.png b/src/assets/sponsors/innovalley.png new file mode 100644 index 00000000..353a3e17 Binary files /dev/null and b/src/assets/sponsors/innovalley.png differ diff --git a/src/assets/sponsors/jetbrains.svg b/src/assets/sponsors/jetbrains.svg new file mode 100644 index 00000000..c4fe87cb --- /dev/null +++ b/src/assets/sponsors/jetbrains.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/sponsors/pythonpescara.png b/src/assets/sponsors/pythonpescara.png new file mode 100644 index 00000000..f0b22765 Binary files /dev/null and b/src/assets/sponsors/pythonpescara.png differ diff --git a/src/assets/sponsors/ready2use.png b/src/assets/sponsors/ready2use.png new file mode 100644 index 00000000..d7d95b30 Binary files /dev/null and b/src/assets/sponsors/ready2use.png differ diff --git a/src/assets/sponsors/scuolacomics.png b/src/assets/sponsors/scuolacomics.png new file mode 100644 index 00000000..388799ae Binary files /dev/null and b/src/assets/sponsors/scuolacomics.png differ diff --git a/src/assets/sponsors/synergie.png b/src/assets/sponsors/synergie.png new file mode 100644 index 00000000..a7a88e46 Binary files /dev/null and b/src/assets/sponsors/synergie.png differ diff --git a/src/components/Sponsors.astro b/src/components/Sponsors.astro index ada64de9..968b76d9 100644 --- a/src/components/Sponsors.astro +++ b/src/components/Sponsors.astro @@ -7,7 +7,15 @@ import surediIconSrc from "../assets/sponsors/suredi.svg"; import udaIconSrc from "../assets/sponsors/uda.png"; import decIconSrc from "../assets/sponsors/dec.png"; import netsonsIconSrc from "../assets/sponsors/netsons.svg"; +import futuraIconSrc from "../assets/sponsors/futura.svg"; import leanStartupIconSrc from "../assets/sponsors/leanstartuplab.png"; +import pythonPescaraIconSrc from "../assets/sponsors/pythonpescara.png"; +import jetbrainsIconSrc from "../assets/sponsors/jetbrains.svg"; +import synergieIconSrc from "../assets/sponsors/synergie.png"; +import innovalleyIconSrc from "../assets/sponsors/innovalley.png"; +import ready2useIconSrc from "../assets/sponsors/ready2use.png"; +import aesysIconSrc from "../assets/sponsors/aesys.png"; +import scuolacomicsIconSrc from "../assets/sponsors/scuolacomics.png"; import Section from "./Section.astro"; import Sponsor from "./Sponsor.astro"; import type { ImageMetadata } from "astro"; @@ -27,40 +35,26 @@ const sponsors: SponsorValue[][] = [ name: "Google", imageSrc: googleIconSrc, link: "https://gdg.community.dev/", - }, - { - level: "Media partner", - name: "Stickermule", - imageSrc: stickermuleIconSrc, - link: "https://www.stickermule.com", - }, - { - level: "Community partner", - name: "Lean Startup Lab", - imageSrc: leanStartupIconSrc, - link: "https://meetu.ps/c/4fDsg/FSPD4/a", - }, + } ], [ { - level: "General partner", - name: "UdA", - imageSrc: udaIconSrc, - link: "https://www.unich.it/", + level: "Platinum sponsor", + name: "Netsons", + imageSrc: netsonsIconSrc, + link: "https://www.netsons.com/", }, { - level: "General Partner", - name: "DEC", - imageSrc: decIconSrc, - link: "https://www.dec.unich.it/home-dec-1", + level: "Platinum sponsor", + name: "Ready2Use", + imageSrc: ready2useIconSrc, + link: "https://r2u.it/", }, - ], - [ { level: "Platinum sponsor", - name: "Netsons", - imageSrc: netsonsIconSrc, - link: "https://www.netsons.com/", + name: "Aesys - Aesys Cyber", + imageSrc: aesysIconSrc, + link: "https://www.aesys.tech/", } ], [ @@ -75,6 +69,18 @@ const sponsors: SponsorValue[][] = [ name: "Tredipi", imageSrc: tredipiIconSrc, link: "https://www.tredipi.it/", + }, + { + level: "Gold sponsor", + name: "Synergie", + imageSrc: synergieIconSrc, + link: "https://www.synergie-italia.it/", + }, + { + level: "Gold sponsor", + name: "Innovalley", + imageSrc: innovalleyIconSrc, + link: "https://www.inno-valley.it/", } ], [ @@ -83,6 +89,60 @@ const sponsors: SponsorValue[][] = [ name: "Suredi", imageSrc: surediIconSrc, link: "https://www.suredi.it/", + }, + { + level: "Silver sponsor", + name: "Scuola Internazionale del Comics - sede di Pescara", + imageSrc: scuolacomicsIconSrc, + link: "https://scuolacomics.com/sede/pescara", + } + ], + [ + { + level: "Bronze sponsor", + name: "Futura", + imageSrc: futuraIconSrc, + link: "https://www.linkedin.com/company/futura-dev/", + } + ], + [ + { + level: "General partner", + name: "UdA", + imageSrc: udaIconSrc, + link: "https://www.unich.it/", + }, + { + level: "General Partner", + name: "DEC", + imageSrc: decIconSrc, + link: "https://www.dec.unich.it/home-dec-1", + }, + { + level: "General partner", + name: "JetBrains", + imageSrc: jetbrainsIconSrc, + link: "https://www.jetbrains.com/", + }, + { + level: "Media partner", + name: "Stickermule", + imageSrc: stickermuleIconSrc, + link: "https://www.stickermule.com", + }, + ], + [ + { + level: "Community partner", + name: "Lean Startup Lab", + imageSrc: leanStartupIconSrc, + link: "https://meetu.ps/c/4fDsg/FSPD4/a", + }, + { + level: "Community partner", + name: "Python Pescara", + imageSrc: pythonPescaraIconSrc, + link: "https://pescara.python.it/", } ] ]; diff --git a/src/data/agenda-data.ts b/src/data/agenda-data.ts index 07e402fd..117010c6 100644 --- a/src/data/agenda-data.ts +++ b/src/data/agenda-data.ts @@ -53,7 +53,7 @@ export const events: AgendaEvent = { }, { day: 2, - name: "Erlang: Ora vi farΓ² un gioco di magia", + name: "La magia di Erlang puΓ² far bene al tuo stipendio", type: "talk", tags: ["Languages"], length: "50 min", @@ -62,7 +62,7 @@ export const events: AgendaEvent = { speaker: { id: "g-santomaggio", }, - abstract: "Hai presente whatsapp? Ecco molte parti del server e' scritto in Erlang! In questa sessione vedremo alcune features che rendono questo linguaggio completamente diverso dagli altri. Features come distributed calls, load del codice dinamico ed altre magie della BEAM." + abstract: "Gli sviluppatori Erlang sono tra i piΓΉ pagati sul mercato.\nWhatsapp e molti altri grandi sistemi usano Erlang/Elixir come linguaggio di backend.\n\nIn questo talk cerchiamo di capire perchΓ© questo linguaggio Γ¨ cosi potente e perchΓ© conoscerlo ti puΓ² far bene anche se usi altri linguaggi.\nSopratutto potrebbe far bene alla tua RAL:)!\nfonte ( https://survey.stackoverflow.co/2023/#work-salary )" }, { day: 2, @@ -619,16 +619,16 @@ export const events: AgendaEvent = { }, { day: 1, - name: "To be defined", + name: "Come sei progetta un videogioco: dallβidea allo sviluppo", type: "talk", - tags: ["TBD"], + tags: ["Game Design"], length: "50 min", language: "Italian", room: "Room 10-12", speaker: { - id: "tbd", + id: "p-lacitignola", }, - abstract: "To be defined" + abstract: "Le fasi e il flusso di lavoro necessari allo sviluppo di un prodotto videoludico, dall'ideazione del progetto alla realizzazione del prodotto per il mercato" }, ], "17:40": [ diff --git a/src/data/speakers-data.ts b/src/data/speakers-data.ts index 15f9a705..184277bb 100644 --- a/src/data/speakers-data.ts +++ b/src/data/speakers-data.ts @@ -372,8 +372,8 @@ export const speakersData = { }, 'l-divita': { name: 'Luca Di Vita', - jobTitle: 'Machine Learning Engineer', - description: 'Machine Learning Engineer', + jobTitle: 'Machine Learning Engineer @ Frontiere', + description: 'Machine Learning Engineer @ Frontiere', bio: "Laureato in Ingegneria Informatica all'UniversitΓ degli Studi de L'Aquila e appassionato del mondo della ricerca, in particolar modo inerente il Machine Learning e Computazione Evolutiva, lavoro nel mondo IT come Machine Learning Engineer. La mia passione per lo studio e l'accademia mi ha portato nel fantastico mondo dei Dev Talks dove spero di appassionare tanto quanto lo sono io.", social: { linkedin: 'https://it.linkedin.com/in/luca-di-vita-563b0a183', @@ -540,6 +540,20 @@ export const speakersData = { }, imageUrl: 'https://firebasestorage.googleapis.com/v0/b/devfestpescara-2023.appspot.com/o/speakers%2Fp-insogna.jpg?alt=media&token=bc3dd2b1-0cfa-42f3-b6b7-761778af7059' }, + 'p-lacitignola': { + name: 'Piergiuseppe Lacitignola', + jobTitle: 'Game Design Teacher @ Scuola Internazionale di Comics', + description: 'Game Design Teacher @ Scuola Internazionale di Comics', + bio: '', + social: { + linkedin: 'https://www.linkedin.com/in/piergiuseppe-lacitignola-5b277097/', + twitter: '', + facebook: '', + instagram: '', + blog: '' + }, + imageUrl: 'https://firebasestorage.googleapis.com/v0/b/devfestpescara-2023.appspot.com/o/speakers%2Fp-lacitignola.jpeg?alt=media&token=3004358a-3b18-42ea-9766-1badb547281e' + }, 'p-melchiorre': { name: 'Paolo Melchiorre', jobTitle: "CTO @ 20tab", diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index 7b607717..f34e40ad 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -53,9 +53,9 @@ const { title } = Astro.props; }