Projeto Conceito para implementar uma aplicação web usando a linguagem goLang. Tendo o seguinte contexto: A pouco tempo a empresa Acme Corporation iniciou suas vendas online e carece de uma plataforma robusta para as vendas. Para que as vendas online tenham sucesso a Acme necessita de um novo serviço web que disponibilize funcionalidades de controle do estoque.
- Criar uma sistema usando linguagem GoLang (Biblioteca padrão, sem framework);
- Criar um sistema web e Restful API;
- Projetar Sistemas usando Arquiterura Microservices;
- Implantação Contínua (Continuous Deployment);
1 - Experiência em implementar usando a linguagem GoLang;
2 - Experiência em sistemas de banco de dados NoSQL (Cassandra, MongoDB, etc.);
3 - Experiência em sistemas de containerização (e.g. Docker);
4 - Experiência em sistemas Linux e shell scripting;
5 - Experiência em projetos utilizando micro serviços (Microservices) e computação distribuída;
Considerando que o seu ambinete SDK já esteja preparado.
-
Clonar:
git https://github.com/pssilva/go-lang-acme-corp.git
; -
Acessar:
cd go-lang-acme-corp
; -
Definir Path:
export GO_PATH=$(pwd)
; -
Instalar Theme:
cd $GO_PATH/src/main/staticweb/public/theme/AdminLTE2.3.7
;- E executar a instalação: AdminLTE
-
Import Database MongoDB:
Considerando que no seu ambiente já tenha o MondoDB instalado e configurado.
$ chmod u+x $GO_PATH/doc-repo/databases/mongo-import-mongostore-db.sh
;
$ cd $GO_PATH && ./doc-repo/databases/mongo-import-mongostore-db.sh
; -
Install Package:
cd $GO_PATH && go install -v -gcflags "-N -l" main/staticweb
; -
Run Server:
go run $GO_PATH/src/main/staticweb/*.go
; -
acessar o link:
localhost:8080
;
O projeto será adaptado para os seguintes temas (themes):
- Gerar Relatórios;
- Enviar E-mails;
- Autenticação OAuth2;
- Implementar RESTful APIs;
- Automatizar geração de CRUDs;
- Integração com Logstash;
- Gerenciar Logstash com Elasticsearch;
[Shiju Varghese: 2015], Apress. Web Development with Go: Building Scalable Web Apps and RESTful Services
[Caleb Doxsey: 2016], O’Reilly Media, Inc. Introducing Go: Build Reliable, Scalable Programs
[Ivo Balbaert: 2012], iUniverse, Inc. Bloomington. The Way to Go: A Thorough Introduction to the Go Programming Language
[Kristina Chodorow: 2013], O’Reilly Media, Inc. MongoDB: The Definitive Guide: Second Edition
[Shantanu Tushar, Sarath Lakshman: 2015], Wiley Authenticity Guarantee. Linux Command Line and Shell Scripting Bible: 3rd Edition - The Comprehensive, Tutorial Resource
[Richard Blum, Christine Bresnahan: 2013], Packt Publishing Ltd. Linux Shell Scripting Cookbook: Over 110 practical recipes to solve real-world shell problems, guaranteed to make you wonder how you ever lived without them
[Vaughn Vernon: 2013], Addison-Wesley Professional; Edição: 1,Implementing Domain-Driven Design: Designing Fine-Grained Systems
[Sam Newman: 2015], O’Reilly Media, Inc., Building Microservices: Designing Fine-Grained Systems
[Christian Posta: 2016], O’Reilly Media, Inc., Microservices for Java Developers: A Hands-on Introduction to Frameworks and Containers