This is the repository for the "Laravel From Scratch" final project at Laracasts with extended functionalities. Original repo can be found here.
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.
git clone git@github.com:TunNandaAung/tweety.git
cd tweety && composer install && npm install
php artisan tweety:install
npm run dev
- 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
Next, boot up a server and visit Tweety. If using Laravel Valet, the URL will default to http://tweety.test
.
- For instant search, you have 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.
MIX_ALGOLIA_APP_ID=YOUR_ALGOLIA_APP_ID
MIX_ALGOLIA_SECRET=YOUR_ALGOLIA_SECRET
- 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 for Tweety written in Flutter can be found here.