Skip to content

alterviewxyz/rentment

Repository files navigation

This monorepo includes the following packages and apps:

Apps and Packages

  • web: a vanilla vite ts app
  • server: an express.js ts app
  • @rentment/ui: a stub component & utility library shared by both web and docs applications
  • @rentment/eslint-config: shared eslint configurations
  • @rentment/typescript-config: tsconfig.jsons used throughout the monorepo

Each package and app is 100% TypeScript.

Utilities

This Turborepo has some additional tools already setup for you:

Features

  • Clients:
    • React: A JavaScript library for building user interfaces.
    • Vite: A build tool that aims to provide a faster and leaner development experience for modern web projects.
    • React Router: A standard routing library for React.
    • Axios: A promise-based HTTP client for the browser and Node.js.
  • Server:
    • Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine.
    • Express: A minimal and flexible Node.js web application framework.
    • MongoDB: A general-purpose, document-based, distributed database built for modern application developers and the cloud era.
    • Mongoose: An Object Data Modeling (ODM) library for MongoDB and Node.js.
    • cors: A Node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options.
    • dotenv: A zero-dependency module that loads environment variables from a .env file into process.env.
    • morgan: An HTTP request logger middleware for Node.js.
    • bcryptjs: A library to help you hash passwords.
    • jsonwebtoken: An implementation of JSON Web Tokens.

How To

  • First install node.js and npm on your system.
  • Then install pnpm using npm install -g pnpm.
  • Then install project dependencies using pnpm install

Scripts

  • pnpm run dev: Starts all the apps at the same time.
  • pnpm run dev --filter web: Just starts the web app.
  • pnpm run dev --filter server: Just starts the server app.
  • pnpm run build: Builds all the apps for production.