├── .github
├── pull_request_template.md
└── workflows
│ └── eslint.yml
├── .gitignore
├── .vscode
├── extensions.json
└── launch.json
├── LICENSE
├── README.md
├── SECURITY.md
├── astro.config.mjs
├── package-lock.json
├── package.json
├── public
├── browser.png
├── favicon.svg
└── icon.png
├── src
├── assets
│ ├── discord-logo.png
│ ├── github-mark.svg
│ ├── github-white.svg
│ ├── icon.png
│ ├── logo.png
│ ├── midufest.svg
│ ├── teach.svg
│ ├── ticket-frame.svg
│ ├── twitch.svg
│ ├── twitter-logo.svg
│ ├── virtual.svg
│ └── yt-logo.svg
├── components
│ ├── About
│ │ └── index.astro
│ ├── Card
│ │ ├── index.tsx
│ │ └── types.ts
│ ├── Event
│ │ ├── components
│ │ │ ├── Schedule.tsx
│ │ │ ├── Speakers.tsx
│ │ │ ├── Sponsors.tsx
│ │ │ └── index.tsx
│ │ └── index.tsx
│ ├── EventNavBar
│ │ └── index.jsx
│ ├── Footer
│ │ └── index.astro
│ ├── GetTicket
│ │ └── index.tsx
│ ├── GithubAuth
│ │ └── index.tsx
│ ├── Home
│ │ └── Home.astro
│ ├── How
│ │ └── index.astro
│ ├── NavBar
│ │ ├── index.tsx
│ │ └── items.ts
│ ├── PrimaryButton
│ │ └── index.tsx
│ ├── Profile
│ │ └── index.tsx
│ ├── ScheduleItem
│ │ └── index.tsx
│ ├── SingUp
│ │ └── index.tsx
│ ├── SocialModal
│ │ └── index.tsx
│ ├── Speaker
│ │ └── index.astro
│ ├── Sponsors
│ │ └── index.tsx
│ ├── Ticket
│ │ └── index.tsx
│ ├── Tickets
│ │ ├── components
│ │ │ ├── NotSession
│ │ │ │ └── index.tsx
│ │ │ ├── Ticket
│ │ │ │ └── index.tsx
│ │ │ └── index.tsx
│ │ ├── index.css
│ │ └── index.tsx
│ ├── TimerCountdown
│ │ └── index.tsx
│ └── index.tsx
├── env.d.ts
├── hooks
│ ├── useUser.tsx
│ └── useUserSubscriber.ts
├── interfaces
│ ├── index.ts
│ ├── schedule.ts
│ ├── speaker.ts
│ ├── sponsor.ts
│ ├── tickets.ts
│ └── user.ts
├── layouts
│ ├── EventFrame.astro
│ └── Layout.astro
├── pages
│ ├── code-of-conduct
│ │ └── index.astro
│ ├── events
│ │ ├── [id].astro
│ │ └── index.astro
│ ├── index-conf.astro
│ ├── index.astro
│ ├── profile
│ │ └── index.astro
│ ├── speakers
│ │ ├── [name].astro
│ │ └── index.astro
│ └── tickets
│ │ └── index.astro
└── services
│ ├── auth.ts
│ ├── config.ts
│ ├── schedule.ts
│ └── sentry.ts
├── tailwind.config.cjs
└── tsconfig.json
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | THIS PROJECT IS IN MAINTENANCE MODE. We accept pull requests for Bug, Fixes, Featured, Docs, Refactor, etc...
2 |
3 |
4 |
5 | ## Description
6 |
7 |
8 | ## Related Issue
9 |
10 |
11 |
12 |
13 |
14 | ## Motivation and Context
15 |
16 |
17 |
18 | ## How Has This Been Tested?
19 |
20 |
21 |
22 |
23 | ## Screenshots (if appropriate):
24 |
25 |
--------------------------------------------------------------------------------
/.github/workflows/eslint.yml:
--------------------------------------------------------------------------------
1 | # This workflow uses actions that are not certified by GitHub.
2 | # They are provided by a third-party and are governed by
3 | # separate terms of service, privacy policy, and support
4 | # documentation.
5 | # ESLint is a tool for identifying and reporting on patterns
6 | # found in ECMAScript/JavaScript code.
7 | # More details at https://github.com/eslint/eslint
8 | # and https://eslint.org
9 |
10 | name: ESLint
11 |
12 | on:
13 | push:
14 | branches: [ "main" ]
15 | pull_request:
16 | # The branches below must be a subset of the branches above
17 | branches: [ "main" ]
18 | schedule:
19 | - cron: '24 5 * * 5'
20 |
21 | jobs:
22 | eslint:
23 | name: Run eslint scanning
24 | runs-on: ubuntu-latest
25 | permissions:
26 | contents: read
27 | security-events: write
28 | actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
29 | steps:
30 | - name: Checkout code
31 | uses: actions/checkout@v3
32 |
33 | - name: Install ESLint
34 | run: |
35 | npm install eslint@8.10.0
36 | npm install @microsoft/eslint-formatter-sarif@2.1.7
37 |
38 | - name: Run ESLint
39 | run: npx eslint .
40 | --config .eslintrc.js
41 | --ext .js,.jsx,.ts,.tsx
42 | --format @microsoft/eslint-formatter-sarif
43 | --output-file eslint-results.sarif
44 | continue-on-error: true
45 |
46 | - name: Upload analysis results to GitHub
47 | uses: github/codeql-action/upload-sarif@v2
48 | with:
49 | sarif_file: eslint-results.sarif
50 | wait-for-processing: true
51 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # build output
2 | dist/
3 |
4 | # generated types
5 | .astro/
6 |
7 | # dependencies
8 | node_modules/
9 |
10 | # logs
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # environment variables
17 | .env
18 | .env.production
19 |
20 | # macOS-specific files
21 | .DS_Store
22 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["astro-build.astro-vscode"],
3 | "unwantedRecommendations": []
4 | }
5 |
--------------------------------------------------------------------------------
/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "0.2.0",
3 | "configurations": [
4 | {
5 | "command": "./node_modules/.bin/astro dev",
6 | "name": "Development server",
7 | "request": "launch",
8 | "type": "node-terminal"
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | # Licencia MIT
2 |
3 | Copyright (c) 2023 Tech Conf - Peru 🇵🇪 - Linder Hassinger
4 |
5 | Se concede permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y de los archivos de documentación asociados (el "Software"), para utilizar el Software sin restricción, incluyendo, sin limitación, los derechos para usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir a las personas a las que se les proporcione el Software que lo hagan, de acuerdo con las siguientes condiciones:
6 |
7 | El aviso de derecho de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.
8 |
9 | EL SOFTWARE SE PROPORCIONA "COMO ESTÁ", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIALIZACIÓN, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE CUALQUIER RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN CONTRACTUAL, AGRAVIO O CUALQUIER OTRA ACCIÓN, QUE SURJA DE, O EN RELACIÓN CON EL SOFTWARE O EL USO U OTROS TRATOS EN EL SOFTWARE.
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Tech Conf - Peru 🇵🇪
2 |
3 | Buscamos compartir conocimiento y experiencias de la comunidad de software en Perú.
4 |
5 | Inicialmente, este proyecto fue creado para la conferencia [TechConf](https://www.techconf.lat/), pero ahora es un proyecto de código abierto para que cualquier conferencia de software en Perú pueda usarlo.
6 |
7 | Planeamos empezar a hacer charlas en Lima, Perú 🇵🇪, pero buscamos expandirnos
8 | y poder compartir esto en todo el país.
9 |
10 | ## ❤️ Comunidad
11 |
12 | Si quieres unirte a la comunidad de software en Perú, puedes unirte a nuestro [Discord](https://discord.gg/mAxZPpxq9e) y así poder compartir conocimiento y experiencias.
13 |
14 | ## 🖇️ Colabora
15 |
16 | Si quieres colaborar con este proyecto, puedes hacerlo de las siguientes maneras:
17 |
18 | - [ ] Crea un issue si quieres hacer alguna mejora
19 | - [ ] Procedere a crear una tarea para que puedas hacer un PR
20 | - [ ] Crear un PR con la mejora que quieras hacer
21 | - [ ] Asigname con reviewer @linder3hs
22 |
23 | * Recuerda usar el PR Template que tiene el repositorio
24 |
25 | ## 🪙 Sponsors
26 |
27 | Si quieres ser un sponsor de la conferencia, puedes completar el siguiente formulario:
28 |
29 | [Formulario de Sponsors](https://linderhassinger00.typeform.com/to/F64EamRc)
30 |
31 | Actualmente tenemos los siguientes sponsors:
32 |
33 | | Sponsor | Logo | Link |
34 | | :--- | :--- | :--- |
35 | | Tecsup |  | [Tecsup](https://www.tecsup.edu.pe/) |
36 | | Codigo power by Tecsup |  | [Codigo Tecsup](https://codigo.edu.pe/) |
37 |
38 | ## 👨🏻💻 Tech Stack
39 |
40 | ### Astro 🚀
41 |
42 | Este proyecto esta construido con [Astro](https://astro.build/), un generador de sitios estáticos moderno y rápido, así como también usamos React con typescript para ciertas partes de la web.
43 |
44 | ### 💾 Supabase
45 |
46 | Usamos [Supabase](https://supabase.io/) para almacenar los diferentes datos de los speakers, sponsors, etc.
47 |
48 | ### 🧞 Commands
49 |
50 | All commands are run from the root of the project, from a terminal:
51 |
52 | | Command | Action |
53 | | :--------------------- | :----------------------------------------------- |
54 | | `npm install` | Installs dependencies |
55 | | `npm run dev` | Starts local dev server at `localhost:3000` |
56 | | `npm run build` | Build your production site to `./dist/` |
57 | | `npm run preview` | Preview your build locally, before deploying |
58 | | `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
59 | | `npm run astro --help` | Get help using the Astro CLI |
60 |
61 | ## 👀 Ayudanos a encontrar errores
62 |
63 | Si encuentras algún error en la web, puedes crear un issue en el repositorio y así poder ayudar a mejorar la web. También puedes ayudarnos a mejorar la web haciendo un PR.
64 |
65 | ## 📝 Licencia
66 |
67 | Este proyecto esta bajo la licencia MIT, puedes ver el archivo [LICENSE](LICENSE) para más información.
68 |
--------------------------------------------------------------------------------
/SECURITY.md:
--------------------------------------------------------------------------------
1 | # Código de conducta en la Tech Conf
2 | Nosotros, los organizadores de la Tech Conf, nos comprometemos a crear un espacio seguro y respetuoso para todas las personas que asistan. Este código de conducta establece las normas de comportamiento que esperamos de todos los asistentes y nos comprometemos a hacer cumplir estas normas durante todo el evento.
3 |
4 | ## 1. Respeto
5 | Todos los asistentes deben tratar a los demás con respeto. No se permitirá ningún tipo de discriminación, acoso, intimidación o violencia hacia otra persona en el evento. Esto incluye, pero no se limita a: la discriminación por motivos de género, orientación sexual, edad, raza, religión, discapacidad o cualquier otra característica personal.
6 |
7 | ## 2. Comportamiento apropiado
8 | Se espera que todos los asistentes se comporten de manera apropiada y profesional durante todo el evento. Esto incluye, pero no se limita a: mantener un lenguaje y comportamiento apropiados en las charlas y los espacios públicos, abstenerse de consumir alcohol o drogas en exceso durante el evento, y seguir las reglas establecidas por los organizadores.
9 |
10 | ## 3. Seguridad
11 | Los organizadores del evento harán todo lo posible para garantizar la seguridad de todos los asistentes. Se espera que los asistentes también tomen medidas para garantizar su propia seguridad. Esto incluye, pero no se limita a: mantener un comportamiento responsable durante el evento, informar cualquier comportamiento inapropiado o peligroso a los organizadores, y respetar las normas de seguridad del lugar.
12 |
13 | ## 4. Consecuencias
14 | Cualquier persona que viole este código de conducta será expulsada del evento y se tomarán las medidas necesarias para garantizar la seguridad de todos los asistentes. Si alguien experimenta o presencia cualquier comportamiento inapropiado, debe informar inmediatamente a los organizadores del evento.
15 |
--------------------------------------------------------------------------------
/astro.config.mjs:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "astro/config";
2 | import react from "@astrojs/react";
3 | import tailwind from "@astrojs/tailwind";
4 |
5 | export default defineConfig({
6 | integrations: [
7 | tailwind({
8 | config: { applyBaseStyles: true },
9 | }),
10 | react(),
11 | ],
12 | });
13 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@example/basics",
3 | "type": "module",
4 | "version": "0.0.1",
5 | "private": true,
6 | "scripts": {
7 | "dev": "astro dev",
8 | "start": "astro dev",
9 | "build": "astro build",
10 | "preview": "astro preview",
11 | "astro": "astro"
12 | },
13 | "dependencies": {
14 | "@astrojs/react": "2.0.2",
15 | "@astrojs/tailwind": "3.0.1",
16 | "@fontsource/ibm-plex-mono": "4.5.13",
17 | "@headlessui/react": "1.7.11",
18 | "@heroicons/react": "2.0.16",
19 | "@sentry/browser": "7.37.1",
20 | "@sentry/tracing": "7.37.1",
21 | "@supabase/auth-ui-react": "0.2.7",
22 | "@supabase/supabase-js": "2.7.1",
23 | "@types/react": "18.0.27",
24 | "@types/react-dom": "18.0.10",
25 | "astro": "2.0.6",
26 | "js-confetti": "0.11.0",
27 | "react": "18.2.0",
28 | "react-countdown": "2.3.5",
29 | "react-dom": "18.2.0",
30 | "sweetalert2": "11.7.1",
31 | "tailwindcss": "3.2.4"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/public/browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linder3hs/Tech-Conf/2fb1e1b96fc7501c42272c2634b7876a39ca0d7c/public/browser.png
--------------------------------------------------------------------------------
/public/favicon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linder3hs/Tech-Conf/2fb1e1b96fc7501c42272c2634b7876a39ca0d7c/public/icon.png
--------------------------------------------------------------------------------
/src/assets/discord-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linder3hs/Tech-Conf/2fb1e1b96fc7501c42272c2634b7876a39ca0d7c/src/assets/discord-logo.png
--------------------------------------------------------------------------------
/src/assets/github-mark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/github-white.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linder3hs/Tech-Conf/2fb1e1b96fc7501c42272c2634b7876a39ca0d7c/src/assets/icon.png
--------------------------------------------------------------------------------
/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linder3hs/Tech-Conf/2fb1e1b96fc7501c42272c2634b7876a39ca0d7c/src/assets/logo.png
--------------------------------------------------------------------------------
/src/assets/midufest.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/assets/teach.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/ticket-frame.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/assets/twitch.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/twitter-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/virtual.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/yt-logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/About/index.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import PrimaryButton from "../PrimaryButton";
3 | ---
4 |
5 |
6 |
7 |
8 | ¿Para qué hacemos esto? 🤔
9 |
10 |
11 | Dar conferencias de software en Perú será una oportunidad única para
12 | compartir los conocimientos y experiencias en el campo de la tecnología.
13 | Además, el mercado de tecnología en Perú está en constante crecimiento y
14 | hay una gran demanda por parte de profesionales y estudiantes por aprender
15 | y estar al tanto de las últimas tendencias y desarrollos en el mundo de la
16 | tecnología.
17 |
10 | Nosotros, los organizadores de la Tech Conf, nos
11 | comprometemos a crear un espacio seguro y respetuoso para todas
12 | las personas que asistan. Este código de conducta establece las normas
13 | de comportamiento que esperamos de todos los asistentes y nos
14 | comprometemos a hacer cumplir estas normas durante todo el evento.
15 |
16 |
1. Respeto
17 |
18 | Todos los asistentes deben tratar a los demás con respeto. No se
19 | permitirá ningún tipo de discriminación, acoso, intimidación o violencia
20 | hacia otra persona en el evento. Esto incluye, pero no se limita a: la
21 | discriminación por motivos de género, orientación sexual, edad, raza,
22 | religión, discapacidad o cualquier otra característica personal.
23 |
24 |
2. Comportamiento apropiado
25 |
26 | Se espera que todos los asistentes se comporten de manera apropiada y
27 | profesional durante todo el evento. Esto incluye, pero no se limita a:
28 | mantener un lenguaje y comportamiento apropiados en las charlas y los
29 | espacios públicos, abstenerse de consumir alcohol o drogas en exceso
30 | durante el evento, y seguir las reglas establecidas por los
31 | organizadores.
32 |
33 |
3. Seguridad
34 |
35 | Los organizadores del evento harán todo lo posible para garantizar la
36 | seguridad de todos los asistentes. Se espera que los asistentes también
37 | tomen medidas para garantizar su propia seguridad. Esto incluye, pero no
38 | se limita a: mantener un comportamiento responsable durante el evento,
39 | informar cualquier comportamiento inapropiado o peligroso a los
40 | organizadores, y respetar las normas de seguridad del lugar.
41 |
42 |
4. Consecuencias
43 |
44 | Cualquier persona que viole este código de conducta será expulsada del
45 | evento y se tomarán las medidas necesarias para garantizar la seguridad
46 | de todos los asistentes. Si alguien experimenta o presencia cualquier
47 | comportamiento inapropiado, debe informar inmediatamente a los
48 | organizadores del evento.
49 |