diff --git a/README.md b/README.md index 31feab1..e16fb24 100644 --- a/README.md +++ b/README.md @@ -2,72 +2,66 @@ Olá! Meu nome é **Alisson** e este repositório documenta minha jornada de aprendizado com o **[curso.dev](https://curso.dev/)**, do Filipe Deschamps. -Diferente de um curso tradicional, o objetivo aqui não é apenas seguir uma lista de aulas, mas sim absorver uma **filosofia de desenvolvimento de software**. Este espaço registrará o processo, os erros, as descobertas e a construção de um projeto real, do zero, com foco nos fundamentos. +O projeto central do curso é a construção de um clone completo e funcional do **TabNews**, e é exatamente isso que você verá aqui. Diferente de um curso tradicional, o objetivo não é apenas seguir uma lista de aulas, mas sim absorver uma **filosofia de desenvolvimento de software**. Este espaço registrará o processo, os erros, as descobertas e a construção deste projeto, do zero, com foco nos fundamentos. Sinta-se à vontade para acompanhar a evolução e o raciocínio por trás de cada commit. 🚀 --- -## 📚 A Jornada: Construindo Software com Profundidade +## 📚 A Jornada: Construindo um Clone do TabNews Este repositório seguirá a metodologia do curso, focada em construir um software robusto e bem arquitetado, entendendo o "porquê" de cada decisão. A estrutura do meu aprendizado será: - 🧠 **Filosofia e Fundamentos:** Entendendo os princípios essenciais para criar software de qualidade. Mais do que aprender uma linguagem, o foco é em como pensar como um engenheiro de software: a importância dos testes, da clareza do código e das decisões de arquitetura. - 🏗️ **Estruturando o Projeto do Zero:** - Iniciando o projeto real do curso. Configuração do ambiente de desenvolvimento, inicialização do controle de versão com Git e a criação da estrutura base da aplicação, preparando o terreno para um desenvolvimento sustentável. + Configuração do ambiente de desenvolvimento, inicialização do controle de versão com Git e a criação da estrutura base da aplicação com Next.js, preparando o terreno para um desenvolvimento sustentável. - 🧪 **Desenvolvimento Guiado por Testes (TDD):** - Adotando a prática de escrever testes _antes_ do código de produção. O objetivo é garantir que a aplicação seja testável, confiável e que cada nova funcionalidade seja adicionada com segurança. -- 💻 **Construindo a Aplicação (Backend):** - Desenvolvimento do núcleo da aplicação, implementando as regras de negócio, criando a API e conectando com o banco de dados. Cada passo é documentado, refletindo as decisões tomadas durante as aulas. + Adotando a prática de escrever testes _antes_ do código de produção. O objetivo é garantir que a aplicação seja testável, confiável e que cada nova funcionalidade (como a criação de um `endpoint` da API) seja adicionada com segurança. +- 💻 **Construindo a API e o Backend:** + Desenvolvimento do núcleo da aplicação em Node.js, implementando as regras de negócio, criando os `endpoints` da API e conectando com o banco de dados PostgreSQL. +- 🎨 **Desenvolvendo a Interface (Frontend):** + Construção da interface de usuário com React e Next.js, consumindo a API que criamos e tornando a aplicação interativa e funcional para o usuário final. - 🐳 **Containerização com Docker:** - Empacotando a aplicação em um container Docker para garantir que ela funcione de forma consistente em qualquer ambiente, seja no desenvolvimento local ou na nuvem. + Empacotando a aplicação e o banco de dados em containers Docker para garantir que o ambiente de desenvolvimento seja consistente, portátil e fácil de reproduzir. - ⚙️ **Integração e Entrega Contínua (CI/CD):** Automatizando o processo de testes e deploy. Configuração de uma esteira com GitHub Actions para que cada alteração no código principal seja testada e, se aprovada, enviada para produção automaticamente. - 🚀 **Deploy na Nuvem:** - Colocando o projeto no ar para que o mundo possa acessá-lo. Aprendendo os conceitos práticos de deploy em um provedor de nuvem. + Colocando o projeto no ar em um provedor de nuvem (como a Vercel), aprendendo os conceitos práticos para que o mundo possa acessar a aplicação. --- ## 🛠️ Tecnologias e Ferramentas -Tecnologias que estou aprendendo e utilizando ao longo desta jornada: +Estas são as tecnologias que estou aprendendo e utilizando ao longo desta jornada: -**Linguagens e Runtimes:** +**Stack Principal:** -![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white) -![JavaScript](https://img.shields.io/badge/JavaScript-%23F7DF1E.svg?style=for-the-badge&logo=javascript&logoColor=black) -![TypeScript](https://img.shields.io/badge/TypeScript-%233178C6.svg?style=for-the-badge&logo=typescript&logoColor=white) -![NodeJS](https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white) - -**Ecossistema Python (Backend & Testes):** - -![Django](https://img.shields.io/badge/Django-092E20?style=for-the-badge&logo=django&logoColor=white) -![FastAPI](https://img.shields.io/badge/FastAPI-009688?style=for-the-badge&logo=fastapi&logoColor=white) -![Pytest](https://img.shields.io/badge/Pytest-0A9EDC?style=for-the-badge&logo=pytest&logoColor=white) - -**Ecossistema JavaScript (Full Stack & Testes):** - -![React](https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=black) ![Next JS](https://img.shields.io/badge/Next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white) -![Express.js](https://img.shields.io/badge/Express.js-000000?style=for-the-badge&logo=express&logoColor=white) +![React](https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=black) +![NodeJS](https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white) +![JavaScript](https://img.shields.io/badge/JavaScript-%23F7DF1E.svg?style=for-the-badge&logo=javascript&logoColor=black) **Banco de Dados:** ![PostgreSQL](https://img.shields.io/badge/PostgreSQL-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white) +**Testes:** + +![Jest](https://img.shields.io/badge/Jest-C21325?style=for-the-badge&logo=jest&logoColor=white) + **DevOps & Cloud:** ![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white) ![GitHub Actions](https://img.shields.io/badge/GitHub%20Actions-2088FF?style=for-the-badge&logo=github-actions&logoColor=white) -![Amazon AWS](https://img.shields.io/badge/AWS-232F3E?style=for-the-badge&logo=amazon-aws&logoColor=white) +![Vercel](https://img.shields.io/badge/Vercel-000000?style=for-the-badge&logo=vercel&logoColor=white) -**Ferramentas Gerais:** +**Ferramentas de Desenvolvimento:** ![Git](https://img.shields.io/badge/GIT-%23F05033.svg?style=for-the-badge&logo=git&logoColor=white) -![GitHub](https://img.shields.io/badge/GitHub-%23181717.svg?style=for-the-badge&logo=github&logoColor=white) -![NPM](https://img.shields.io/badge/NPM-%23CB3837.svg?style=for-the-badge&logo=npm&logoColor=white) ![VSCode](https://img.shields.io/badge/Visual_Studio_Code-007ACC?style=for-the-badge&logo=visual-studio-code&logoColor=white) +![Prettier](https://img.shields.io/badge/Prettier-F7B93E?style=for-the-badge&logo=prettier&logoColor=black) +![ESLint](https://img.shields.io/badge/ESLint-4B32C3?style=for-the-badge&logo=eslint&logoColor=white) ---