mohamedmek / Twitter

Twitter Clone app for iti graduation project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Twitter Clone Web Application With PHP Laravel 9 & Angular 15

Live Demo: https://twiter.tech/
User Guide Video: https://drive.google.com/file/d/1i_RWNFFNxRbUe5soyjw46cM_kYVc_JN1/view?usp=share_link

Introduction

Twitter-inspired social media platform designed for users to connect and share their thoughts with the world.
Users can create profiles, follow other users, and post tweets, photos, and videos for their followers to see.
The project also includes features like hashtags, mentions and trending topics making it easy for users to
discover new content and connect with others in real-time. Bulding the website we used Tailwind CSS and
designed the website according to the user's broweser default,considering wether it was light or dark mode.

You can read more about the list of services and the database structure through out the Official Documentation

Get Started

Clone the project

git clone https://github.com/mostafaabdullhuq/Twitter

For Client-side

Install all project packages

npm install

Run the project

ng serve -o

Note: for production use cases:

go to src/environments/environment.prod.ts and change PRODUCTION_BASE_URL with your back-end api url

For server-side

Install all project packages

composer install

Generate a new application key for your Laravel application

php artisan key:generate

Generate a new secret key for your JSON Web Tokens (JWTs)

php artisan jwt:secret

Create a database in phpMyAdmin with any name you like, but remember to name it the same in your laravel .env file and then write

php artisan migrate:fresh --seed

Create a symbolic link between the public directory in your Laravel application and the storage/app/public directory in your application's file system.

php artisan storage:link

Then run your server

php artisan serve

Features

User can

  • Create an account or remove it.
  • Reset his account password or totally change it.
  • Update his/her account, upload profile and cover images.
  • Share tweets with media.
  • Retweet a tweet.
  • Reply to a tweet.
  • Like or bookmark a tweet and vice versa.
  • Search for a tweet, user or hashtags.
  • Follow others or block them.

Technologies and Tools

  • Laravel 9.
  • Angular 15.
  • Tailwind CSS.
  • MySQL.
  • JWT Package.
  • Laravel-tags (spatie).

Screenshots

Screenshots are in dark mode and the User Guide Video is in light mode

About

Twitter Clone app for iti graduation project


Languages

Language:PHP 51.9%Language:HTML 36.1%Language:TypeScript 7.0%Language:CSS 2.0%Language:JavaScript 1.9%Language:Blade 1.0%