This project is inspired by X (formerly Twitter). I wanted to make a light weight social media application that my friends can use as well as showcasing my skills making Laravel applications.
To be able to run this project you need:
- Composer version: 2.6.6 or later: https://getcomposer.org/download
- PHP version 8.1 or later: https://www.php.net/downloads.php and
- MySQL Server: https://dev.mysql.com/downloads/mysql
To install project dependencies, open a terminal in the root directory of the project and execute the following command:
composer install
If you wanto keep all the packages updated then use:
composer update
Now start the development server for the project using:
php artisan serve
In the root directory (see Directory Structure below) of the project, you'll find .env.example
file. Make a copy of it and paste it on the same directory then rename it to .env
This is our Environment Variables configuration file. Now we need to configure our database and smtp.
Configuring Database:
- Enter your SQL Server's username in
DB_USERNAME
and password inDB_PASSWORD
- Create a database named same as
DB_DATABASE
- Note: Your SQL Server might run on a different port, in that case change the port number also!
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ideas
DB_USERNAME=root
DB_PASSWORD=
Configuring SMTP:
To test the mail functionality I'll suggest using Mailtrap. Signup or Login to your Mailtrap account then Goto Email Testing > Inboxes > Inbox Settings (Gear icon in the left of search bar) > SMTP Settings > Select Integrations Dropdown > Select Laravel 9.+ then copy the code and paste replacing the below section:
MAIL_MAILER=smtp
MAIL_HOST=null
MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=null
Here's the directory structure of the project with necessary files and folders:
ideas/
│
├── app/
│ ├── Console/
│ ├── Exceptions/
│ ├── Http/
│ │ ├── Controllers/
│ │ │ └── Admin/
│ │ ├── Middleware/
│ │ └── Kernel.php
│ ├── Mail/
│ ├── Models/
│ │ ├── Comment.php
│ │ ├── Idea.php
│ │ └── User.php
│ └── Providers/
│
├── bootstrap/
│ ├── app.php
│ └── cache/
│
├── config/
│
├── database/
│ ├── factories/
│ │ ├── CommentFactory.php
│ │ ├── IdeaFactory.php
│ │ └── UserFactory.php
│ ├── migrations/
│ └── seeders/
│
├── lang/
│ ├── bn/
│ └── en/
│
├── public/
│ ├── css/
│ ├── js/
│ ├── index.php
│ └── .htaccess
│
├── resources/
│ ├── css/
│ ├── js/
│ ├── views/
│ │ ├── admin/
│ │ │ ├── comments/
│ │ │ ├── ideas/
│ │ │ ├── shared/
│ │ │ └── users/
│ │ ├── auth/
│ │ ├── emails/
│ │ ├── errors/
│ │ ├── ideas/
│ │ │ └── shared/
│ │ ├── shared/
│ │ └── users/
│ │ └── shared/
│ │
├── routes/
│ ├── auth.php
│ └── web.php
│
├── storage/
│ ├── app/
│ ├── framework/
│ ├── logs/
│ └── ...
│
├── tests/
│ ├── Feature/
│ ├── Unit/
│ └── TestCase.php
│
├── .env.example
├── artisan
├── composer.json
├── package.json
├── phpunit.xml
├── README.md
└── ...
- Bootswatch - A collection of open source themes for
- Simple, fast routing engine.
- Powerful dependency injection container.
- Multiple back-ends for session and cache storage.
- Expressive, intuitive database ORM.
- Database agnostic schema migrations.
- Robust background job processing.
- Real-time event broadcasting.
Laravel is accessible, powerful, and provides tools required for large, robust applications.
TODO: To be documented
TODO: To be documented
Laravel has the most extensive and thorough documentation and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
You may also try the Laravel Bootcamp, where you will be guided through building a modern Laravel application from scratch.
If you don't feel like reading, Laracasts can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
If you discover a security vulnerability within Laravel, please send an e-mail to Samiul Islam via [email protected]. All security vulnerabilities will be promptly addressed.
- The Laravel framework is open-sourced software licensed under the MIT license.
- The PHP programming language is open-sourced software licensed under the PHP License.
- The MySQL database is open-sourced software licensed under the GNU General Public License.
- The HTML5 and CSS3 are open-sourced software licensed under the W3C Software Notice and License.
- The Bootswatch themes are open-sourced software licensed under the MIT license.