This is a full-stack Twitter clone built with Nuxt.js and Firebase. The project replicates key features including user accounts, timelines, notifications, and messaging.
It also utilizes natural language processing (NLP) for tweet recommendation and trend extraction with the RAKE algorithm, LDA, and TF-IDF.
Redis caching techniques are applied to reduce database usage by 60% for efficient resource utilization.
Refer to the software requirements specification for more details.
- User authentication with Firebase
- Tweet creation, editing, and deletion
- Like and reply functionality for tweets
- Follow and unfollow users
- Notifications for new followers, likes, and replies
- Private messaging between users
- Trending topics based on tweet content
- Tweet recommendation based on user interests
![image](https://private-user-images.githubusercontent.com/73897941/238095578-37b584b4-34f8-4f58-931c-016052d723a5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjYxNjM5MDksIm5iZiI6MTcyNjE2MzYwOSwicGF0aCI6Ii83Mzg5Nzk0MS8yMzgwOTU1NzgtMzdiNTg0YjQtMzRmOC00ZjU4LTkzMWMtMDE2MDUyZDcyM2E1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTEyVDE3NTMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTYyMmNlNjI0NDc1YzAyZjBmYjdlNzRjOGZjMDViNzM5ZWMxZTQ4Yzg0YTk3M2RhODA4YjRkZjM2M2IxZmQ2OTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8Q9x3mc07RULFHdSGeccCuIIrEDYwweRWarMYYGnopg)
The Twitter clone is built using Nuxt.js and Firebase. Nuxt.js is a framework for building server-side rendered (SSR) Vue.js applications. It provides a number of features that simplify development, including automatic code splitting, server-side rendering, and static site generation. Firebase is a platform for building mobile and web applications. It provides a number of services, including authentication, database, storage, and hosting.
The front-end of the Twitter clone is built using Vue.js and Vuex. Vue.js is a progressive framework for building user interfaces, while Vuex is a state management library for Vue.js applications. The back-end of the Twitter clone uses Firebase's Authentication, Cloud Firestore, Cloud Functions, and Cloud Messaging services.
The Twitter clone also uses Natural Language Processing (NLP) for tweet recommendation and trend extraction. The RAKE-Algorithm, LDA, and TF-IDF are used for this purpose.
Finally, Redis caching techniques are applied to reduce database usage by 60% to enable efficient resource utilization.
To get started with the project, you'll need to clone the repository and install the dependencies. You'll also need to set up a Firebase project and configure the app with your Firebase credentials.
- Node.js
- Nuxt.js
- Firebase account and project
- Clone the repository
git clone https://github.com/Nilusche/Twitter-clone-nuxt-firebase.git
- Install dependencies
cd Twitter-clone-nuxt-firebase
npm install
- Run the app
npm run dev
The app can be deployed to various hosting services such as Vercel, Netlify, or Firebase Hosting. Refer to the documentation of your chosen hosting service for more details.
- The RAKE algorithm, LDA, and TF-IDF are implemented using the Natural library for Node.js (blog post).
- Redis caching techniques which i explained here blog post.
- I have written some blogpost about this project tutorial series.