miguelcostero / rick-and-morty-app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rick-and-morty-app

backend

libraries

  • express -> http server library
  • pino, pino-http, pino-pretty -> logging helper libraries
  • mongodb-memory-server -> in-memory mongodb server
  • typegoose -> a helper library that allows to create mongoose orm models combined with typescript.
  • joi -> schema validation
  • dotenv-safe -> used to load env files in memory for testing purposes
  • helmet -> set default headers for api
  • body-parser -> body parser middleware
  • cors -> used to enable cors
  • jsonwebtoken -> used to generate and validate jwt tokens
  • compression -> middleware to compress api responses
  • rickmortyapi -> rick and morty api wrapper for nodejs

how to run

  1. Install dependencies:
cd backend
yarn
  1. Copy example .env file
cp .env.example .env
  1. Run app in dev mode
yarn dev

NOTE: this app runs mongodb-in-memory-server, so every time backend restarts all saved changes will be lost.

Default user: email: miguel@test.com password: test

ref: backend/src/load-test-data.ts


frontend

libraries

  • react -> ui lib for creating components.
  • styled-components -> used to work with css in javascript.
  • yup -> form schema validation
  • vite -> create-react-app replacement, but easier to configure
  • normilize.css -> css lib to reset all browser default styles
  • redux, react-redux and @reduxjs/toolkit -> for global state management
  • react-hook-form, @hookform/resolvers -> library for handling form states and validations.
  • axios -> http request handler

how to run

  1. Install dependencies
cd frontend
yarn
  1. Copy example .env file
cp .env.example .env
  1. Run app in dev mode
yarn dev

Miguel Costero miguel3490@gmail.com

About

License:MIT License


Languages

Language:TypeScript 99.1%Language:HTML 0.6%Language:JavaScript 0.2%Language:Shell 0.1%