Skip to content

mirayatech/macos-big-sur-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

61 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MacOS Big Sur Clone 🍏

A macOS desktop clone. I created this project out of fascination for the Mac/Apple desktop UI and wanted to try to replicate it as closely as possible, even with the dynamic dock behavior.

⚑ Technologies

  • Vite
  • React.js
  • TypeScript
  • Zustand
  • Framer Motion

πŸš€ Features

  • Light and Dark Mode: Seamlessly switch between light and dark themes for a personalized experience.
  • Custom Background Colors: Tailor your desktop with the ability to change the background color to suit your style.
  • System Color Preferences: Customize your system's color scheme with options like blue, green, orange, and more.

πŸ’­ Process

I began by gathering all the necessary images for the dock and wallpaper. Then, I established constants and implemented Zustand for state management. Next, I worked on the navigation bar and system preference color functionalities. After that, I tackled the dynamic dock, which was a bit challenging to animate. Each dock item scales slightly when selected, creating a realistic effect. I also created a settings modal, allowing users to switch between dark and light modes and change background colors.

πŸ€” How can it be improved?

Start by adding an introductory loading screen, like the one you see on a Mac with the progress bar and Apple's logo. To make this project even better, think about making features like the calculator and calendar docks actually work. In other words, try to make your project function just like the real macOS desktop.

πŸŽ₯ Demo/Preview

🚦 Running the Project

To run the project in your local environment, follow these steps:

  1. Clone the repository to your local machine.
  2. Navigate to the project directory and run npm install or yarn to install the required dependencies.
  3. Start the project with npm run dev or yarn dev.
  4. Open http://localhost:5173 (or the address displayed in your console) in your web browser to view the application.