Skip to content

Ruta de Aprendizaje (learning-path.mdx) #32

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions app/core/components/SponsorPack.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ const sponsors = [
},
{
name: "GraphCMS",
href:
"https://graphcms.com/?utm_source=BlitzJS&utm_medium=sponsorship&utm_campaign=BlitzJS_Sponsorship_2021",
href: "https://graphcms.com/?utm_source=BlitzJS&utm_medium=sponsorship&utm_campaign=BlitzJS_Sponsorship_2021",
imageUrl: "https://raw.githubusercontent.com/blitz-js/blitz/canary/assets/graphcms.png",
tier: 2,
cost: 500,
Expand Down
205 changes: 110 additions & 95 deletions app/pages/docs/learning-path.mdx
Original file line number Diff line number Diff line change
@@ -1,115 +1,130 @@
---
title: Blitz Learning Path 📚
sidebar_label: Learning Path
title: Ruta de Aprendizaje de Blitz 📚
sidebar_label: Ruta de Aprendizaje
---

Want to get better at developing applications using Blitz, but don't know
where to start? You've come to the right spot.
¿Quieres mejorar tus habilidades para desarrollar aplicaciones Blitz pero
no sabes por dónde empezar? Haz encontrado el lugar indicado.

This document is inspired by the
[Frontend Developer Roadmap](https://roadmap.sh/frontend). It curates
material on concepts & ideas, tools & libraries and history & trivia
useful to become better at building applications. It is tailored to Blitz,
but most will happily apply elsewhere.
Este documento está inspirado en el
[Frontend Developer Roadmap](https://roadmap.sh/frontend). Consta de una
lista de materiales sobre conceptos, ideas, herramientas, librerías,
historia, y mucho más que te será útil para ser mejor desarrollando
aplicaciones. Está centrado en Blitz, pero gran parte aplica para otras
tecnologías.

<Card type="info">

Links marked with 🥷 are advanced. If you're dipping your toes into web
development, it's totally OK to skip them.
Los enlaces marcados con 🥷 son avanzados. Si recién estás arrancando con
el desarrollo web, no hay ningún problema en que los saltees.

</Card>

## React {#react}

- [React for Beginners – A React.js Handbook for Front End Developers](https://www.freecodecamp.org/news/react-beginner-handbook) -
Big introduction into React, including Function Components and Hooks.
- 📺
- 🇬🇧
[React for Beginners – A React.js Handbook for Front End Developers](https://www.freecodecamp.org/news/react-beginner-handbook) -
Una introducción muy completa a React, incluyendo componentes
funcionales y _hooks_.
- 🇪🇸
[React para principiantes: React completo, hoja de trucos para 2021](https://www.freecodecamp.org/espanol/news/react-para-principiantes-complete-react-hoja-de-trucos-para-2021/) -
Una alternativa a la guía anterior en español.
- 🇬🇧📺
[freeCodeCamp's Full React Course 2020](https://www.youtube.com/watch?v=4UZrsTqkcW4) -
10hrs video introduction to React.
- 📺
Una introducción de 10 horas a React.
- 🇬🇧📺
[The Beginner's Guide to React](https://egghead.io/courses/the-beginner-s-guide-to-react) -
Kent C. Dodds short introduction to React, including Function
Components.

## Databases & Data Modeling {#databases}

- [Prisma's Data Guide: Data Modeling](https://www.prisma.io/dataguide/datamodeling) -
A great introduction on constructing a good database schema for your
application.
- [What is Prisma?](https://www.prisma.io/docs/concepts/overview/what-is-prisma) -
A high-level overview on what Prisma is & how it works.
- 🥷
Una introducción corta a React, incluyendo componentes funcionales.
- 🇪🇸📺
[React 16, Aplicación de tareas con useState, useEffect y localStorage](https://www.youtube.com/watch?v=XyWC4xpbKWs) -
Una aplicación de tareas desde cero con React.

## Bases de datos y modelado de datos {#databases}

- 🇬🇧
[Prisma's Data Guide: Data Modeling](https://www.prisma.io/dataguide/datamodeling) -
Una genial introducción al desarrollo de buenas bases de datos para tu
aplicación.
- 🇬🇧
[What is Prisma?](https://www.prisma.io/docs/concepts/overview/what-is-prisma) -
Una visión general sobre qué es Prisma y cómo funciona.
- 🇬🇧🥷
[Zero-Downtime Deployments with Data Migrations](https://engineering.wework.com/zero-downtime-deployments-with-data-migrations-2e337df48b8f) -
How to change your database schema without causing downtimes.
- Want to contribute to this part? Submit your favourite learning
materials in a PR! Here's some ideas for content we know we're missing:
- a guide on building multi-tenant applications

## Integrations {#integrations}

- Want to contribute to this part? Submit your favourite learning
materials in a PR! Here's some ideas for content we know we're missing:
- sending emails
- how to hook up stripe
- how to hook up Paddle
- what payment provider to choose

## Background Processing & Cron Jobs {#misc}

- Want to contribute to this part? Submit your favourite learning
materials in a PR! Here's some ideas for content we know we're missing:
- how Cron expressions work
- what to use background processing for
- implementing cron jobs

## Testing {#testing}

Automated tests are a great way of verifying that your application works -
and who doesn't want working software?

- 💸 [Testing Javascript](https://testingjavascript.com) - A thorough
curriculum on everything test-related. By Kent C. Dodds.
- Want to contribute to this part? Submit your favourite learning
materials in a PR! Here's some ideas for content we know we're missing:
- Introduction to the testing pyramid
- unit testing using Jest
- writing code to be testable
- cypress guide

## Software Architecture {#architecture}

As your application grows bigger, some structure may be neccessary.
There's a million ways on how to structure your project, here's some good
guidance:

- Want to contribute to this part? Submit your favourite learning
materials in a PR! Here's some ideas for content we know we're missing:
- 🥷 TODO: a good guide on onion / clear architecture

## Soft Skills {#soft-skills}

Building software is highly communicative and rarely a solo effort.
Working in a team requires soft skills.

- [How to Make Your Code Reviewer Fall in Love with You](https://mtlynch.io/code-review-love/) -
Code Reviews are a great when done well, and awful when not. Read this
article to 1-up your own PRs!
- Want to contribute to this part? Submit your favourite learning
materials in a PR!

## Building Products {#building-products}

Building a product is more than building an application. Finding the right
business model, evaluating ideas, getting valuable feedback, building a
customer base - all of this is very different from building software. If
you're building a product (there's a fair share of entrepreneurs amongst
Blitz users!), this is for you:
Como cambiar el esquema de tu base de datos sin detener tu aplicación.
- ¿Quieres contribuir a esta parte? ¡Envía tus materiales favoritos
mediante una PR! Estos son algunos de los contenidos que nos falta:
- una guía para hacer aplicaciones _multi-tenant_ (cuando una aplicación
tiene múltiples usuarios u organizaciones);
- guías en español.

## Integraciones {#integrations}

- ¿Quieres contribuir a esta parte? ¡Envía tus materiales favoritos
mediante una PR! Estos son algunos de los contenidos que nos falta:
- enviar emails;
- cómo añadir Stripe;
- cómo añadir Paddle;
- cómo elegir un proveedor de pagos.

## Procesamiento de fondo y Cron Jobs {#misc}

- ¿Quieres contribuir a esta parte? ¡Envía tus materiales favoritos
mediante una PR! Estos son algunos de los contenidos que nos falta:
- cómo funcionan las expresiones Cron;
- para qué utilizar el procesamiento de fondo;
- implementaciones de cron jobs;

## Testeo {#testing}

Las pruebas automatizadas son una manera genial de verificar que tu
aplicación funciona - ¿Y quién no quiere software que funciona?

- 🇬🇧💸 [Testing Javascript](https://testingjavascript.com) - Un plan de
estudios completo sobre todo lo relacionado con testing.
- ¿Quieres contribuir a esta parte? ¡Envía tus materiales favoritos
mediante una PR! Estos son algunos de los contenidos que nos falta:
- una introducción a la pirámide de testeo;
- unit-testing con Jest;
- cómo escribir código para ser probado;
- una guía de Cypress.

## Arquitectura de software {#architecture}

A medida que tu aplicación crece, algo de estructura puede ser necesario.
Hay un millón de maneras de estructurar tu proyecto; aquí hay algo por
donde guiarte:

- ¿Quieres contribuir a esta parte? ¡Envía tus materiales favoritos
mediante una PR! Estos son algunos de los contenidos que nos falta:
- 🥷 TODO: una buena guía de arquitectura limpia (_onion_ o _clean
architecture_).

## Habilidades blandas o sociales {#soft-skills}

Crear software es una actividad altamente comunicativa y raramente el
esfuerzo de una sola persona. Trabajar en un equipo requiere de
habilidades blandas.

- 🇬🇧
[How to Make Your Code Reviewer Fall in Love with You](https://mtlynch.io/code-review-love/) -
Las revisiones de código son geniales cuando están bien hechas y
horrorosas cuando no. ¡Lee este artículo para mejorar tus PR!
- ¿Quieres contribuir a esta parte? ¡Envía tus materiales favoritos
mediante una PR!

## Crear productos {#building-products}

Crear un producto es más que hacer una aplicación. Encontrar el modelo de
negocio adecuado, evaluar ideas, obtener comentarios valiosos, establecer
una clientela - todo esto es muy distinto a desarrollar software. Si estás
creando un producto (¡hay un generosa porción de emprendedores entre los
usuarios de Blitz!), esto es para ti:

<!--alex disable dad-mom -->

- [The Mom Test](http://momtestbook.com) - A book on getting honest
customer feedback.
- Want to contribute to this part? Submit your favourite learning
materials in a PR!
- 🇬🇧🇪🇸 [The Mom Test](http://momtestbook.com) - Un libro sobre obtener
retroalimentación por parte de los clientes.
- ¿Quieres contribuir a esta parte? ¡Envía tus materiales favoritos
mediante una PR!

<!--alex enable dad-mom -->