This project is a clone coding exercise based on a tutorial by JavaScript Mastery, aiming to replicate an Awwwards-winning website. It focuses on modern web development techniques, including advanced animations and a responsive user interface.
Original Tutorial: JavaScript Mastery - Build an Awwwards Winning Website
- React & TypeScript: Built with a modern JavaScript library for user interfaces and a strong typing system for robust code.
- Tailwind CSS: A utility-first CSS framework for rapid UI development and custom designs.
- GSAP (GreenSock Animation Platform): Used for creating high-performance animations.
- Vite: A fast frontend build tool that significantly improves the development experience.
- Responsive Design: Adapts to various screen sizes for a seamless experience on desktops, tablets, and mobile devices.
- ESLint & Prettier: Configured for code linting and formatting to maintain code quality and consistency.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Clone the repository:
(Replace
git clone https://github.com/your-username/your-repository-name.git
your-username/your-repository-namewith the actual remote URL if you plan to push this to a new repo) - Navigate to the project directory:
cd your-repository-name - Install dependencies:
pnpm install
To start the development server, run:
pnpm devThis will open the project in your default browser, usually at http://localhost:5173. The server supports Hot Module Replacement (HMR), so changes in the code will reflect live in the browser.
To create a production build, run:
pnpm buildThe optimized static assets will be placed in the dist/ directory.
To check the code for linting issues, run:
pnpm lintThe project follows a standard Vite + React project structure:
.
├── public/ # Static assets (images, fonts, etc.)
├── src/
│ ├── components/ # Reusable React components
│ ├── App.tsx # Main application component
│ ├── main.tsx # Entry point of the application
│ ├── index.css # Global styles
│ └── ... # Other TypeScript/TSX files
├── .gitignore # Specifies intentionally untracked files that Git should ignore
├── eslint.config.js # ESLint configuration
├── index.html # Main HTML file
├── package.json # Project metadata and dependencies
├── pnpm-lock.yaml # Exact versions of dependencies
├── tsconfig.json # TypeScript compiler options
└── vite.config.ts # Vite configuration
- Explore more Awwwards-winning sites: Awwwards
- Learn more about the technologies used: