O projeto teve início em uma feira de ciências simples da minha escola, durante o segundo ano do ensino médio. Inicialmente, o projeto consistia apenas em persistir dados no lado do cliente (ClientSide) via localStorage, utilizando as tecnologias básicas da web (HTML, CSS, TypeScript, Webpack). Com uma proposta da direção para a construção de um sistema mais robusto, foi concebido este projeto.
Este servidor tem como objetivo solucionar problemas internos relacionados à consulta de livros na biblioteca pública da instituição de ensino Professora Maria Angelina Gomes.
- Por enquanto o projeto é apenas uma app monolítica, futuramente um arquitetura de microservices. Estamos estudando formas de implementar um micro serviço de emails.
⚠ Obs: Todas as tecnologias foram escolhidas levando em consideração a qualidade de software, custo de produção, tempo e afinidade;
⚠ Obs: Este modulo é destinado a recrutadores e demais colegas desenvolvedores que desejam se inspirar no desenvolvimento desta aplicação. Vale lembrar que esse é um dos meus primeiros projetos após 2 anos de estudos intensos e apenas poucas semanas de golang. Não leve muito em considerações os erros de arquitetura de repositórios ou boas práticas de programação.
- User
User: { Id primitive.ObjectID UserName string Email string CrateAt time.Time Unique bool }
- Book
Book: { Id primitive.ObjectID Name string Author string Category string Quantity int32 CopiesAvailable int32 }
-
Deve ser possível que a instituição possa criar registrar um livro
-
Deve ser possível que a instituição posso criar usuários para registro de dados.
-
Deve ser possível que a instituição possa listar os livros.
-
Deve ser possivel fazer a consulta de livros
-
Deve ser possivel cadrastar um email pra aluno
-
Só deve ser possivel criar um usuário se o usuário for admim
-
Só deve ser possível que a cusulta seja feita se o livro estiver disponivel
-
Só deve ser possível criar um usuário se o email estiver disponivel
-
O aluno só poderá consultar o livro se cadastrar um email junto ao livro
-
O aluno só poder ficar com o livro por 15 dias.
- A senha do usuário precisa estar criptografada(hash);
- Os dados da aplicação precisam estar persistidos em MongoDb;
version: 0.2.3