/react-nodejs-mongodb-crud

šŸ‘Øā€šŸ’» Fullstack web app built with MongoDB, NodeJs, React and Redux. Features: Protected routes client/server side, MaterialUI layout

Primary LanguageJavaScriptMIT LicenseMIT

AplicaĆ§Ć£o fullstack utilizando MongoDB, NodeJs, React e Redux


Backend features

O banco de dados Mongo foi hospedado no MLab por conveniĆŖncia. Foi implementado gravatar para foto de perfil, se o email do usuĆ”rio tiver um avatar no wordpress ela automaticamente Ć© salva no banco. Rotas sensĆ­veis foram protegidas por meio de JWT em conjunto com passport.

Usando

  • Nodejs
    • Express
    • Nodemon - Para restartar o server sempre que houver uma alteraĆ§Ć£o
    • Passport - Para proteger rotas privadas
    • Jwt - Para proteger rotas privadas
    • Bcrypt - Para Cryptografar as senhas de usuĆ”rios antes de salvar no banco
  • MongoDB
    • Mongoose

Frontend features

Foi usado React em conjunto com Redux e React-router para construir a SPA. Rotas protegidas redirecionam para a home e sĆ³ sĆ£o acessĆ­veis por meio de auth. Localstorage foi utilizado para persistir o state de usuĆ”rio no recarregamento das pĆ”ginas.

Usando

  • React
    • Redux - Para gerenciar o state da aplicaĆ§Ć£o
    • asyncRoutes - As rotas carregam em chunks, dessa forma evita da aplicaĆ§Ć£o ficar pesada num primeiro carregamento
  • Axios - Para fazer as requisiƧƵes HTTP
  • Local storage nativo - Para persistir o state e o auth nas rotas privadas
  • MaterialUI components

Como iniciar a aplicaĆ§Ć£o

Requerimentos

  • Node.js
  • NPM

Instalando os pacotes

Execute o comando abaixo para instalar as dependĆŖncias:

npm install

Iniciando o servidor

Execute o comando abaixo para iniciar o Nodejs e conectar ao banco de dados MongoDB:

npm run server

Aguarde a execuĆ§Ć£o e a API estarĆ” rodando na Url http://localhost:8001/api/

Os endpoints disponĆ­veis sĆ£o:

  • Post - Login more
  • Post - Register more
  • Put - Update Profile more
  • Del - Delete Account more
  • Get - List Users more

A documentaĆ§Ć£o completa pode ser encontrada no Postman

Deixe o servidor rodando em um terminal, abra outro e siga para o prĆ³ximo passo:

Iniciando a SPA React

Para isso basta executar o comando abaixo, e pronto! :D

npm start

A aplicaĆ§Ć£o irĆ” iniciar automaticamente no browser na Url http://localhost:3000


Copyright and license

The MIT License (MIT). Please see License File for more information.



A little project by Jefferson Ribeiro