@davidrobert99 aqui apresento uma proposta de requisitos funcionais e não-funcionais...
Após organização de todos os Requisitos expostos, no ficheiro README.md do projeto 'Livraria Requalificar'. 💻
👇🏼👇🏼👇🏼
Projeto Livraria Requalificar - Requisitos
Funcionais
1.1. O sistema deve permitir o registo pela aplicação de dois utilizadores: Cliente e Funcionário;
1.2. Após o registo, ambos os utilizadores deveram receber uma validação por email;
1.3. O sistema deve permitir ao cliente fazer login através do endereço eletrónico (email), juntamente com a password;
1.4. O sistema deve permitir ao funcionário fazer login através do username (nome de utilizador), juntamente com a password;
1.5. O username do funcionário, deverá ser calculado a partir da primeira letra do nome, mais sobrenome em conjunção com a adição do número inteiro consecutivo ao último usado, caso exista;
1.6. Após a autenticação (login), ambos os utilizadores devem ter acesso à Loja (página inicial do sistema) e todos os seus livros disponíveis;
1.7. Os utilizadores devem poder organizar os livros por preço crescente;
1.8. E, adicionalmente, por ordem também decrescente;
1.9. Para além disso, ambos os utilizadores poderão filtrar os livros (em vista reduzida), por editora;
1.10. A filtragem / ordenação por autor também é uma opção;
1.11. E por fim, a opção de filtrar por data de lançamento também é uma possibilidade;
1.12. Ao clicar sobre um livro selecionado, uma nova página deverá ser apresentada perante o cliente, onde constará todos os detalhes da obra;
1.13. Se um funcionário clicar sobre o livro selecionado, a nova página aberta (gerada) deve dar a possibilidade de alterar todas as características da obra escolhida;
1.14. Os funcionários também podem, na mesma página, obter estatísticas sobre as vendas do livro;
1.15. Nomeadamente sobre os gastos de utilizadores;
1.16. Com possibilidade de filtrar / ordenar por ordem crescente;
1.17. E inclusive, por ordem também decrescente;
1.18. Quais as cópias / edições do livro que venderam mais;
1.19. Quais foram os livros mais rentáveis;
NOUTRA PÁGINA?
1.20. Quais foram os livros menos rentáveis;
1.21. No caso do cliente, a possibilidade de adicionar o livro ao seu carrinho de compras, através da mesma página de detalhes, deve ser uma opção;
1.22. Caso a obra se encontra disponível em stock;
1.23. Na página inicial do sistema, o sistema deve apresentar ao cliente e funcionário uma navbar (barra de navegação);
1.24. Ambos os utilizadores poderão aceder aos dados de perfil de forma a alterá-los, pela navbar (barra de navegação);
1.25. O cliente pode alterar no perfil a palavra-passe, a morada e o seu email;
1.26. Por sua vez o funcionário, pode aceder aos seus dados de perfil: nome, data de nascimento e nickname (username) gerado automaticamente;
POSSIBILIDADE DE ALTERAÇÃO?
1.27. Após o pagamento ser efetuado pelo cliente, deverá ser apresentada a seguinte mensagem: Compra efetuada com sucesso!
1.28. Caso a compra em questão seja superior a 50 euros, o cliente deverá receber um cupão de 5% de desconto;
1.29. Caso seja superior a 100 euros, o cupão de oferta passa a ser de 15% de desconto;
1.30. Os cupões de oferta devem ser enviados para o email do cliente;
1.31. No caso do funcionário, a navbar tem a possibilidade extra de adicionar uma editora, um autor e um livro;
1.32. Ambos os utilizadores devem ter a possibilidade de terminar sessão (logout).
Não-Funcionais
2.1. O cliente é caracterizado por um nome, um email, uma morada e uma data de nascimento;
2.2. O funcionário é caracterizado por um nome, uma data de nascimento e um nickname, gerado automaticamente a partir do nome.
2.3. A password, em ambos os casos de utilização, deverá conter um número mínimo de 8 caracteres;
2.4. A password deverá possuir pelo menos uma letra maiúscula, uma letra minúscula e um número;
2.5. Os livros da página inicial deverão estar expostos numa vista reduzida;
2.6. Todos os livros expostos na página inicial do sistema, deveram ser apresentados apenas pela imagem, título e preço;
2.7. Um livro deverá ser caracterizado por um autor, um título, um ISBN, um preço, uma quantidade em stock, uma editora, uma data de lançamento, um número de páginas, uma sinopse, uma edição e uma imagem de capa;
2.8. Se um livro não está em stock, deverá constar nos detalhes literários a seguinte mensagem: Sem stock de momento!
2.9. Caso o stock do livro esteja para breve, a seguinte mensagem deve constar nos detalhes (características) do livro: Stock para breve!
2.10. Ao clicar no perfil, deve ser possível ao cliente visualizar todas as compras efetuadas;
2.11. Inclusive, deverá também ser apresentada a informação dos cupões disponíveis no momento;
2.12. E, adicionalmente, a informação dos cupões que já foram usados;
2.13. Através da navbar, somente o cliente tem a opção adicional de visualizar o carrinho de compras;
2.14. Ao clicar no carrinho, o cliente poderá fazer uma pré-visualização do total do carrinho a pagar;
2.15. Podendo aumentar ou diminuir a quantidade de livros, já existentes no carrinho;
2.16. Também é possível proceder diretamente para o pagamento;
2.17. Na secção (página) de efetuar o pagamento, o cliente pode adicionar num campo, opcionalmente, um cupão de desconto que possa ter;
2.18. Só é possível adicionar no máximo um cupão de desconto;
2.19. Uma editora é caracterizada por um nome e uma morada;
2.20. Um autor é caracterizado por um nome, uma data de nascimento e um email;
2.21. Um autor pode pertencer apenas a uma editora;
2.22. E um livro, por sua vez, pode ter sido escrito por vários autores;
@davidrobert99 aqui apresento uma proposta de requisitos funcionais e não-funcionais...
Após organização de todos os Requisitos expostos, no ficheiro README.md do projeto 'Livraria Requalificar'. 💻
👇🏼👇🏼👇🏼
Projeto Livraria Requalificar - Requisitos
1.1. O sistema deve permitir o registo pela aplicação de dois utilizadores: Cliente e Funcionário;
1.2. Após o registo, ambos os utilizadores deveram receber uma validação por email;
1.3. O sistema deve permitir ao cliente fazer login através do endereço eletrónico (email), juntamente com a password;
1.4. O sistema deve permitir ao funcionário fazer login através do username (nome de utilizador), juntamente com a password;
1.5. O username do funcionário, deverá ser calculado a partir da primeira letra do nome, mais sobrenome em conjunção com a adição do número inteiro consecutivo ao último usado, caso exista;
1.6. Após a autenticação (login), ambos os utilizadores devem ter acesso à Loja (página inicial do sistema) e todos os seus livros disponíveis;
1.7. Os utilizadores devem poder organizar os livros por preço crescente;
1.8. E, adicionalmente, por ordem também decrescente;
1.9. Para além disso, ambos os utilizadores poderão filtrar os livros (em vista reduzida), por editora;
1.10. A filtragem / ordenação por autor também é uma opção;
1.11. E por fim, a opção de filtrar por data de lançamento também é uma possibilidade;
1.12. Ao clicar sobre um livro selecionado, uma nova página deverá ser apresentada perante o cliente, onde constará todos os detalhes da obra;
1.13. Se um funcionário clicar sobre o livro selecionado, a nova página aberta (gerada) deve dar a possibilidade de alterar todas as características da obra escolhida;
1.14. Os funcionários também podem, na mesma página, obter estatísticas sobre as vendas do livro;
1.15. Nomeadamente sobre os gastos de utilizadores;
1.16. Com possibilidade de filtrar / ordenar por ordem crescente;
1.17. E inclusive, por ordem também decrescente;
1.18. Quais as cópias / edições do livro que venderam mais;
1.19. Quais foram os livros mais rentáveis;
NOUTRA PÁGINA?
1.20. Quais foram os livros menos rentáveis;
1.21. No caso do cliente, a possibilidade de adicionar o livro ao seu carrinho de compras, através da mesma página de detalhes, deve ser uma opção;
1.22. Caso a obra se encontra disponível em stock;
1.23. Na página inicial do sistema, o sistema deve apresentar ao cliente e funcionário uma navbar (barra de navegação);
1.24. Ambos os utilizadores poderão aceder aos dados de perfil de forma a alterá-los, pela navbar (barra de navegação);
1.25. O cliente pode alterar no perfil a palavra-passe, a morada e o seu email;
1.26. Por sua vez o funcionário, pode aceder aos seus dados de perfil: nome, data de nascimento e nickname (username) gerado automaticamente;
POSSIBILIDADE DE ALTERAÇÃO?
1.27. Após o pagamento ser efetuado pelo cliente, deverá ser apresentada a seguinte mensagem: Compra efetuada com sucesso!
1.28. Caso a compra em questão seja superior a 50 euros, o cliente deverá receber um cupão de 5% de desconto;
1.29. Caso seja superior a 100 euros, o cupão de oferta passa a ser de 15% de desconto;
1.30. Os cupões de oferta devem ser enviados para o email do cliente;
1.31. No caso do funcionário, a navbar tem a possibilidade extra de adicionar uma editora, um autor e um livro;
1.32. Ambos os utilizadores devem ter a possibilidade de terminar sessão (logout).
2.1. O cliente é caracterizado por um nome, um email, uma morada e uma data de nascimento;
2.2. O funcionário é caracterizado por um nome, uma data de nascimento e um nickname, gerado automaticamente a partir do nome.
2.3. A password, em ambos os casos de utilização, deverá conter um número mínimo de 8 caracteres;
2.4. A password deverá possuir pelo menos uma letra maiúscula, uma letra minúscula e um número;
2.5. Os livros da página inicial deverão estar expostos numa vista reduzida;
2.6. Todos os livros expostos na página inicial do sistema, deveram ser apresentados apenas pela imagem, título e preço;
2.7. Um livro deverá ser caracterizado por um autor, um título, um ISBN, um preço, uma quantidade em stock, uma editora, uma data de lançamento, um número de páginas, uma sinopse, uma edição e uma imagem de capa;
2.8. Se um livro não está em stock, deverá constar nos detalhes literários a seguinte mensagem: Sem stock de momento!
2.9. Caso o stock do livro esteja para breve, a seguinte mensagem deve constar nos detalhes (características) do livro: Stock para breve!
2.10. Ao clicar no perfil, deve ser possível ao cliente visualizar todas as compras efetuadas;
2.11. Inclusive, deverá também ser apresentada a informação dos cupões disponíveis no momento;
2.12. E, adicionalmente, a informação dos cupões que já foram usados;
2.13. Através da navbar, somente o cliente tem a opção adicional de visualizar o carrinho de compras;
2.14. Ao clicar no carrinho, o cliente poderá fazer uma pré-visualização do total do carrinho a pagar;
2.15. Podendo aumentar ou diminuir a quantidade de livros, já existentes no carrinho;
2.16. Também é possível proceder diretamente para o pagamento;
2.17. Na secção (página) de efetuar o pagamento, o cliente pode adicionar num campo, opcionalmente, um cupão de desconto que possa ter;
2.18. Só é possível adicionar no máximo um cupão de desconto;
2.19. Uma editora é caracterizada por um nome e uma morada;
2.20. Um autor é caracterizado por um nome, uma data de nascimento e um email;
2.21. Um autor pode pertencer apenas a uma editora;
2.22. E um livro, por sua vez, pode ter sido escrito por vários autores;
NOTA: Imagem guardada na base de dados (base 64)?