This monorepo includes the following packages and apps:
web
: a vanilla vite ts appserver
: an express.js ts app@rentment/ui
: a stub component & utility library shared by bothweb
anddocs
applications@rentment/eslint-config
: sharedeslint
configurations@rentment/typescript-config
:tsconfig.json
s used throughout the monorepo
Each package and app is 100% TypeScript.
This Turborepo has some additional tools already setup for you:
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
- 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 intoprocess.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.
- First install node.js and npm on your system.
- Then install pnpm using
npm install -g pnpm
. - Then install project dependencies using
pnpm install
pnpm run dev
: Starts all the apps at the same time.pnpm run dev --filter web
: Just starts theweb
app.pnpm run dev --filter server
: Just starts theserver
app.pnpm run build
: Builds all the apps for production.