Giter Site home page Giter Site logo

felipemcoliveira / amamentaufn Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 1.71 MB

Blog application developed using React, NestJS, MySQL, Sequelize, SASS and Semantic UI.

Home Page: https://www.amamenta.lapinf.ufn.edu.br/

HTML 0.82% JavaScript 56.12% SCSS 6.48% TypeScript 36.58%
admin blog monorepo mysql nestjs react sequelize

amamentaufn's Introduction

✨ amamentaufn

Este repositório contem a minha contribuição para o Projeto Amamenta (Laboratório Avançado de Produtos do Mestrado em Saúde Materno Infantil) onde fui encarregado de desenvolver o blog que serve para que os demais contribuintes possuam um ambiente para a publicação e gerenciamento de artigos como objetivo de auxiliar às mães na orientação das melhores práticas de amamentação. Além do blog um painel foi desenvolvido para que os responsáveis do projeto possam gerenciar os recursos da aplicação.

Rodando a Aplicação

Para iniciar o projeto, clone o repositório:

git clone https://github.com/felipemcoliveira/amamentaufn.git

Entre no diretório do repositório local:

cd amamentaufn

Instale as dependência do projeto:

npm install

Gere a build de todos os workspaces:

# um erro sera causado pelo workspace client/core por conta
# da ausência de um script de build, basta ignora-ló
npm run build --workspaces

Entre no diretório do servidor:

cd server

Crie o arquivo .env na raíz do projeto:

# suporta outros arquivos como .env.production e .env.development
touch .env

Defina as seguintes variavéis de ambientes no arquivo criado:

# ----------------------------------------------------------------------------
# Servidor
# ----------------------------------------------------------------------------

# porta onde o servidor vai aguardar requisições
HTTP_PORT=

# ----------------------------------------------------------------------------
# Banco de dados
# ----------------------------------------------------------------------------

# host do banco de dados
DATABASE_HOST=
# usuário do banco de dados
DATABASE_USER=
# senha do usuário do banco
DATABASE_PASSWORD=
# porta do banco de dados
DATABASE_PORT=
# nome do banco de dados criado para a aplicação
DATABASE_NAME=

# ----------------------------------------------------------------------------
# Json Web Token (JWT)
# ----------------------------------------------------------------------------

# deve ter pelo menos 32 carctérios. quanto maior melhor, melhor
JWT_SECRET=
# tempo em segundos para o jwt expirar
JWT_EXPIRESIN=

Sincronize o banco de dados, este comando deve criar todas as tabelas no banco e criar as permissões necessária para o sistema funcionar. Por conta do prazo de entrega e por se tratar de um banco com previsões de alteração, não foi utilizado migrations e seeders (me perdoem devs 😔):

node dist/main-cli db:sync

Crie um usuário para gerenciar o sistema:

# com apenas a permissão de CAN_MANAGE_USER_PERMISSIONS o usuário já é capaz de adicionar as demais.
# para adicionar mais de uma permissão use aspás e vírgula. (ex.: "CAN_MANAGE_ANY_POSTS, CAN_MANAGE_USERS")
node dist/main-cli user:create <email> <password> <firstName> <lastName> --permissions CAN_MANAGE_USER_PERMISSIONS

Inicialize o servidor:

node dist/main.js

Pronto! A aplicação estará aguardando por requisições na porta definida.

amamentaufn's People

Contributors

felipemcoliveira avatar

Stargazers

Sylvio André Garcia Vieira avatar Crhistopher Lenhard avatar Gabriel Gregório Silveira Netto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.