Tweety
This is the repository for the "Laravel From Scratch" final project at Laracasts with extended functionalities. Original repository can be found here.
Installation
Prerequisites
- To run this project, you must have PHP 7 and above installed.
- You should setup a host on your web server for your local domain. For this you could also configure Laravel Homestead or Valet.
Step 1
Begin by cloning this repository to your machine, and installing all Composer & NPM dependencies using the following commands.
git clone git@github.com:TunNandaAung/tweety.git
cd tweety && composer install && npm install
php artisan tweety:install
npm run dev
Instant Search
- For instant search, you need to create an account at algolia.
- Then, you have to reference your algolia app id and algolia secret key in your
.env
file as below.
ALGOLIA_APP_ID=YOUR_ALGOLIA_APP_ID
ALGOLIA_SECRET=YOUR_ALGOLIA_SECRET
MIX_ALGOLIA_APP_ID=YOUR_ALGOLIA_APP_ID
MIX_ALGOLIA_SECRET=YOUR_ALGOLIA_SECRET
Real-time Chat
- For real-time chat, you need to create an account at pusher.
- Then, you have to set your pusher credentials in
.env
file as below.
PUSHER_APP_ID=YOUR_PUSHER_APP_ID
PUSHER_APP_KEY=YOUR_PUSHER_APP_KEY
PUSHER_APP_SECRET=YOUR_PUSHER_APP_SECRET
PUSHER_APP_CLUSTER=YOUR_PUSHER_APP_CLUSTER
- The chat function is implemented using Laravel WebSockets package.
- Run the follwing command to start the websockets server.
php artisan websockets:serve
Step 2
Next, boot up a server and visit Tweety. If you are using Laravel Valet, the URL will default to http://tweety.test
.
Extended Functionalities
- Dynamic profile banner image and description for each user.
- The ability to attach an image when publishing a tweet.
- The ability to toggle a like.
- Pop-up flash messages.
- Interactivity with Vuejs.
- Display the number of remaining characters allowed when writing a new tweet.
- Allow tweets to be deleted.
- Mentions and notifications.
- Two level nested replies.
- Instant search with algolia
- Real-time chat with Pusher and Laravel WebSockets.
Mobile App
Mobile App for Tweety written in Flutter can be found here.