An Instagram clone app written in Typescript that utilises Next.js as a framework, allowing for static HTML to be generated server-side on build time resulting in better performance and SEO. Moreover, it has allowed for dynamic page routing to be used for the profile pages of all users. For this project Jotai was incorporated to manage the React state throughout the app. Firebase (BaaS) was used for the database (NoSQL), to incorporate user authentication, and to utilise Firestore real-time updates. Additionally, the TailwindCSS framework was used to help with CSS management and to reduce the CSS bundle size by removing all unused CSS when building for production.
git clone [email protected]:Pierce-44/netflix-clone.git
https://firebase.google.com/
Within your Firebase cloud storage create three folders named "posts", "profilePhotos" and "stories" (seen below):
Within your Firestore Database create two collections one named "userList" and the other "users" (seen below):
Within util/firbaseConfig.ts
replace the empty Firebase configuration with your Firebase configuration, which was assigned to your project when you created it and can be found under your project settings on Firebase. It should resemble the following example:
// Your web app's Firebase configuration should resemble the following EXAMPLE:
const firebaseConfig = {
apiKey: "AIzaSyA97-R5P4bEwjV0efHt3hLs3bc32ns4shs",
authDomain: "instagram-clone-ph.firebaseapp.com",
projectId: "instagram-clone-ph",
storageBucket: "instagram-clone-ph.appspot.com",
messagingSenderId: "554003582327",
appId: "1:554003582327:web:97667da84152c9ff7aa572"
};
Install NPM packages
npm install
Start the app on your localhost
npm run dev