Skip to content

Nilusche/Twitter-clone-nuxt-firebase

Repository files navigation

Twitter Clone

image

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.

Features

  • 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

Architecture

image

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.

Getting Started

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.

Prerequisites

  • Node.js
  • Nuxt.js
  • Firebase account and project

Installing

  1. Clone the repository
git clone https://github.com/Nilusche/Twitter-clone-nuxt-firebase.git
  1. Install dependencies
cd Twitter-clone-nuxt-firebase
npm install
  1. Run the app
npm run dev

Deployment

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.

Built With

Acknowledgments