Welcome to the Lock It Lending website repo! This is a modern rebuild of the original WordPress site, using React, TypeScript, and Tailwind CSS.
This guide is written to help anyone — even without coding experience — get started, run, and update the project step-by-step.
This website is a replica (and soon improvement!) of https://lockitlending.com. It includes:
- A beautiful homepage with sections (Hero, Purchase, Refinance, etc.)
- A sticky header with navigation
- A responsive layout that works on mobile and desktop
- Footer with links and contact info
- React: For building the user interface
- TypeScript: Safer JavaScript with types
- Tailwind CSS: For styling (utility-first)
- Create React App: How the project was originally bootstrapped
- GitHub Pages: For live deployment
lock-it-lending/
├── public/ # Static files
│ ├── logo.png # Logo used in header
│ ├── favicon.ico # Browser tab icon
│ └── ...
├── src/ # All website source code
│ ├── components/ # Reusable UI pieces
│ │ ├── Header.tsx
│ │ ├── Footer.tsx
│ │ └── Layout.tsx
│ ├── pages/ # Pages on the website (mapped by routes)
│ │ ├── Home.tsx
│ │ ├── Purchase.tsx
│ │ └── Contact.tsx
│ ├── styles/ # Global CSS
│ │ └── global.css
│ ├── App.tsx # Main app component
│ ├── main.tsx # Entry point
│ └── index.tsx # Root rendering
├── tailwind.config.js # Tailwind setup
├── package.json # Project settings & dependencies
└── README.md # This file!
💡 When adding a new page, always place the file inside the
src/pages/folder, and then link to it via the router inApp.tsx.
- Install Node.js (LTS)
- (Optional) Install VS Code
- Clone or download the repo
- Open the folder in VS Code (or any editor)
In the terminal:
npm installThis will install everything the website needs (React, Tailwind, etc.)
npm startOpen http://localhost:3000 in your browser — you should see the site!
Put your new images in the public/ folder, then reference them like:
<img src="/new-image.png" alt="something" />Go into the file inside src/pages/ or src/components/ and change the text like editing a document.
Add a new <section> in Home.tsx or other page and style it with Tailwind.
- ✅ Tailwind is working now
- ✅ Routes go to the correct pages
⚠️ Footer needs better styling to match the official site⚠️ Form logic is not yet implemented (e.g. rates submission)⚠️ Scroll animations / scrollspy not fully added⚠️ Image optimization (some logos weren’t loading)
Here’s what we still want to build:
- Responsive mobile nav menu (hamburger style)
- Better footer layout w/ categories (Products, Contact, Legal, etc.)
- Modular section components (Review.tsx, Refinement.tsx, etc.)
- ScrollSpy to highlight nav as you scroll
- Load reviews dynamically
- Use
src/pages/for pages - Use
src/components/for UI building blocks - No need to learn React in depth — just copy/paste and edit text/images to help
We use ESLint (Flat Config) + Prettier to maintain clean, consistent code across the project, along with type checking and tests to prevent bugs.
| Command | Description |
|---|---|
npm run lint |
Lints the code for style & best practices |
npm run type-check |
Runs TypeScript type checks |
npm test |
Runs all unit tests |
npm run format |
Formats the code using Prettier |
npm run format:check |
Checks if formatting is correct |
npm run lintChecks for:
- Code style (spacing, quotes, semicolons, trailing spaces, etc.)
- React/JSX errors
- TypeScript ESLint rules
- Console logs and debuggers
npm run type-checkUses TypeScript to catch type-related bugs without compiling the code.
npm testExecutes all unit tests with react-scripts test.
npm run formatAuto-formats all project files based on our Prettier rules.
To check if files are already formatted (without modifying them):
npm run format:checkAlways run:
npm run check-allTo auto-fix most style issues:
npx eslint 'src/**/*.{js,ts,tsx}' --fix
npm run format