A modern web application built with React, TypeScript, and Vite
Live Demo β’ Report Bug β’ Request Feature
- About The Project
- Built With
- Getting Started
- Usage
- Scripts
- Project Structure
- Deployment
- Contributing
- License
- Contact
Mini Project 04 is a modern web application showcasing the power of React with TypeScript and the blazing-fast build tool Vite. This project demonstrates best practices in frontend development with type-safe code and optimized performance.
- β‘ Lightning Fast - Powered by Vite for instant HMR and optimized builds
- π Type Safe - Built with TypeScript for enhanced developer experience
- π¨ Modern UI - Clean and responsive user interface
- π Production Ready - Deployed on Vercel with automatic CI/CD
- π¦ Optimized Bundle - Efficient code splitting and lazy loading
This project leverages modern web technologies:
- React - A JavaScript library for building user interfaces
- TypeScript - JavaScript with syntax for types
- Vite - Next generation frontend tooling
- Vercel - Platform for frontend frameworks and static sites
Follow these steps to get a local copy up and running.
Make sure you have the following installed on your system:
- Node.js (v18 or higher)
node --version
- npm or yarn
npm --version
-
Clone the repository
git clone https://github.com/SinghAman21/mini-project-04.git
-
Navigate to the project directory
cd mini-project-04 -
Install dependencies
npm install
or
yarn install
-
Start the development server
npm run dev
or
yarn dev
-
Open your browser
Navigate to
http://localhost:5173to view the application.
The application runs on a local development server with Hot Module Replacement (HMR) enabled, allowing you to see changes instantly without refreshing the page.
npm run devThis starts the Vite development server with the following features:
- Fast refresh for React components
- Instant HMR updates
- TypeScript type checking
- ESLint integration
The following scripts are available in the project:
| Command | Description |
|---|---|
npm run dev |
Start the development server with HMR |
npm run build |
Build the production-ready application |
npm run preview |
Preview the production build locally |
npm run lint |
Run ESLint to check code quality |
mini-project-04/
βββ public/ # Static assets
βββ src/ # Source files
β βββ assets/ # Images, fonts, etc.
β βββ components/ # React components
β βββ App.tsx # Main App component
β βββ main.tsx # Application entry point
β βββ vite-env.d.ts # Vite type definitions
βββ index.html # HTML template
βββ package.json # Project dependencies and scripts
βββ tsconfig.json # TypeScript configuration
βββ tsconfig.node.json # TypeScript config for Node
βββ vite.config.ts # Vite configuration
βββ README.md # Project documentation
The project uses two official Vite plugins:
- @vitejs/plugin-react - Uses Babel for Fast Refresh
- @vitejs/plugin-react-swc - Uses SWC for Fast Refresh (alternative)
For production applications, consider updating ESLint configuration to enable type-aware lint rules:
export default tseslint.config({
extends: [
...tseslint.configs.recommendedTypeChecked,
// Or use stricter rules
...tseslint.configs.strictTypeChecked,
// Optional: stylistic rules
...tseslint.configs.stylisticTypeChecked,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
},
})Install additional ESLint plugins for React:
npm install -D eslint-plugin-react-x eslint-plugin-react-domUpdate eslint.config.js:
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'
export default tseslint.config({
plugins: {
'react-x': reactX,
'react-dom': reactDom,
},
rules: {
...reactX.configs['recommended-typescript'].rules,
...reactDom.configs.recommended.rules,
},
})Aman Singh - @SinghAman21
Project Link: https://github.com/SinghAman21/mini-project-04
Live Demo: mp38.vercel.app
β Star this repository if you find it helpful!