{"id":17119098,"url":"https://github.com/victorges/ces26projects","last_synced_at":"2025-03-24T02:19:13.536Z","repository":{"id":69945805,"uuid":"70116435","full_name":"victorges/ces26projects","owner":"victorges","description":"Academic projects for the CES-26 course.","archived":false,"fork":false,"pushed_at":"2016-12-05T21:39:25.000Z","size":91,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-29T08:23:35.386Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/victorges.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-06T02:29:08.000Z","updated_at":"2016-12-05T03:53:24.000Z","dependencies_parsed_at":"2023-02-27T16:00:51.822Z","dependency_job_id":null,"html_url":"https://github.com/victorges/ces26projects","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorges%2Fces26projects","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorges%2Fces26projects/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorges%2Fces26projects/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/victorges%2Fces26projects/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/victorges","download_url":"https://codeload.github.com/victorges/ces26projects/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245195962,"owners_count":20575938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-14T17:56:17.154Z","updated_at":"2025-03-24T02:19:13.519Z","avatar_url":"https://github.com/victorges.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projetos CES-26\n\nNeste repositório estão armazenados todos os exercícios resolvidos durante e para a matéria de `CES-26` de Desenvolvimento Web do **ITA**, cursada no segundo semestre do ano de 2016, quando foi ministrada pelo Prof. Edgar Yano.\n\nPartindo de implementações mais básicas possíveis de servidores web progressivamente mais complexas, adquiriu-se experiência com diversas tecnologias atuais de desenvolvimento web, com foco principal em [Node.js](https://nodejs.org/), [Express](http://expressjs.com/) e [Angular.JS](https://angularjs.org/) 1 e 2.\n\nCada uma das aulas tinha foco no treinamento em alguma técnica específica de desenvolvimento web, e cada um dos exercícios resolvidos estão em uma pasta diferente na base desse repositório. Mesmo caso as aulas fossem iterativas, fez-se uma cópia das pastas separada, para versionamento isolado de cada um dos exercícios resolvidos.\n\nSegue uma breve descrição de cada uma das tarefas propostas durante o curso e dos códigos desenvolvidos:\n\n- [**aula2**](https://github.com/v1ct04/ces26projects/tree/master/aula2): Implementação básica de um código em JavaScript simples para ser executado no browser, necessariamente fazendo mudanças no DOM (sem utilização de [jQuery](https://jquery.com/)). Incluso diretamente num .html podendo ser servido por qualquer servidor HTTP simples.\n- [**aula3**](https://github.com/v1ct04/ces26projects/tree/master/aula3): Incremento sobre a tarefa anterior, criando-se agora um servidor em Node.js para fornecimento de *endpoints* para requisições GET e POST. Inclui também processamento de cookies utilizando o módulo [cookie-parser](https://github.com/expressjs/cookie-parser).\n- [**aula4**](https://github.com/v1ct04/ces26projects/tree/master/aula4): Incrementação das tarefas anteriores, explorando agora a biblioteca jQuery para fazer animações e requisições AJAX.\n- [**aula5**](https://github.com/v1ct04/ces26projects/tree/master/aula5): Iniciação em Angular 1 através da implementação de uma aplicação simples com métodos simples de detecção de palíndromes e demonstração de uma lista de palíndromes encontrados gerada automaticamente pelo Angular.\n- [**aula6**](https://github.com/v1ct04/ces26projects/tree/master/aula6): Iniciação em Angular 2 através do desenvolvimento de uma aplicação simples de Hello World (seguindo o [Quickstart](https://angular.io/docs/ts/latest/quickstart.html) oficial).\n- [**aula7**](https://github.com/v1ct04/ces26projects/tree/master/aula7): Aprofundamento em Angular 2 através do início do desenvolvimento do tutorial [Tour of Heroes](https://angular.io/docs/ts/latest/tutorial/) do Angular 2.\n- [**aula8**](https://github.com/v1ct04/ces26projects/tree/master/aula8): Continuação do tutorial [Tour of Heroes](https://angular.io/docs/ts/latest/tutorial/) do Angular 2.\n- [**aula9**](https://github.com/v1ct04/ces26projects/tree/master/aula9): Finalização do tutorial [Tour of Heroes](https://angular.io/docs/ts/latest/tutorial/) do Angular 2.\n- [**heroes-server**](https://github.com/v1ct04/ces26projects/tree/master/heroes-server): Extensão do código desenvolvido para a aplicação Tour of Heroes através da criação de um servidor remoto propriamente dito (em Node) para servir as requisições HTTP no lugar de usar um banco de dados falso em memória.\n\nEssa aplicação final desenvolvida na Aula 9, constituída da aplicação Angular 2 e do servidor Node.js servidor de dados, estão implantadas e disponíveis a acesso no endereço:  http://ces26.v1ct04.com/\n\n### Heroes Server\n\nVale entrar em detalhes ainda no método de *deployment* do servidor *heroes-server*, visto que o mesmo foi desenvolvido como uma aplicação separada do servidor Angular 2, mas configurado de forma a estar sob o mesmo domínio, evitando-se requests Cross-Origin que gerariam problemas adicionais.\n\nPara isso, utilizou-se a aplicação [nginx](https://www.nginx.com/resources/wiki/) para configuração de um único servidor HTTP na máquina, que foi configurado de modo a rotear requisições no caminho `/app/heroes` (caminho base da API) para o servidor Node.js e quaisquer outras para o servidor Angular 2, ambos sendo executados na mesma máquina onde o nginx se encontra, em processos separados.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorges%2Fces26projects","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvictorges%2Fces26projects","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictorges%2Fces26projects/lists"}