Skip to content

samiulislamsharan/ideas

Repository files navigation

Ideas - A Platform for Big Brains

Introduction

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.

Installation

To be able to run this project you need:

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

Configuration

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 in DB_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

Directory Structure

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
└── ...

Case Study

Technology Stack

  • Laravel
  • PHP
  • MySQL
  • HTML5
  • CSS3
  • Bootswatch - A collection of open source themes for Bootstrap

Why choose this stack?

Laravel is accessible, powerful, and provides tools required for large, robust applications.

Challanges

TODO: To be documented

Mitigations

TODO: To be documented

Learning Laravel

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.

Security Vulnerabilities

If you discover a security vulnerability within Laravel, please send an e-mail to Samiul Islam via samiulislamsharan@gmail.com. All security vulnerabilities will be promptly addressed.

License

About

"ideas" is a simple social media made with Laravel 10

Topics

Resources

Stars

Watchers

Forks