Rafi Putra Ramadhan
Dream Space Screencast
Dream Space is robust platform for developer. Push your development skills to the next level, through this screencast learning platform.
Dream Space Screencast
Dream Space is a robust platform for developers. Push your development skills to the next level, through this screencast learning platform.
The screencast is a video recording of a computer screen, typically with audio narration. The screencast is a great way to learn new skills, and Dream Space is a platform that provides screencast learning for developers.
Dream Space provides a variety of screencast courses, from beginner to advanced levels. The courses are categorized into several topics, such as Laravel, InertiaJS, ReactJS, and more.
There are also several courses that give you free to-watch the courses, and also paid courses. The paid courses are permanently accessible, and you can watch them anytime.
Built with Laravel, InertiaJS, ReactJS, and integrated with Midtrans payment gateway Core API integration method.
Core API is a simple integration method that allows you to build your own payment page. Core API is suitable for developers who want to develop a custom payment page.
Live demo : Not available yet.
Source code : GitHub
Features
Some features of this application:
- Series
- Videos
- RBAC (administrator, instructor, student)
- Payment Gateway
- Like and Comment
- Profile Activity
- OAuth
- more details just clone my repository totally free. 😁✌
Tech Stack
- Laravel
- InertiaJS
- ReactJS
- Midtrans
- Laravel Fortify
- Laravel Role Permission
- Socialite
- Markdown
- more details check my composer.json and package.json
Prerequisites
Notes
Some features are not available yet.
Midtrans only available for Indonesia. Supported payment channel : BRI, BCA, Mandiri, Permata, Gopay, Alfamart, and Indomaret.
Manual payment is not available yet.
SMTP Currently available for Reset Password, Email Verification, and Resend Email Verification. You can use Mailtrap for testing, and should run php artisan queue:work for sending email.
Installation and Usage
Clone the repository on my GitHub
git clone https://github.com/raprmdn/dream-space-screencasts.gitcd into project directory
cd dream-space-screencastsInstall dependencies
# composer
composer install
# yarn
yarn installCopy the example env file and make the required configuration changes in the .env file
cp .env.example .envGenerate a new application key
php artisan key:generateConfigure the .env file
# SMTP with Mailtrap
# Mailtrap is a fake SMTP server for development and testing purposes.
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME=
# Google OAuth
# You can use Google OAuth for login.
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT=
# Filesystem
FILESYSTEM_DRIVER=publicConfigure Midtrans payment gateway.
Open database/seeders/MidtransConfigSeeder.php and change following code.
MidtransConfig::create([
'status' => 'Disable',
'environment' => false,
'merchant_id' => 'Input your merchant id here',
'client_key' => 'Input your client key here',
'server_key' => 'Input your server key here',
'sanitized' => true,
'enable_3d_secure' => true,
]);Symlink storage folder
php artisan storage:linkRun the database migrations (Set the database connection in .env before migrating)
php artisan migrateRun the database seeder IMPORTANT
php artisan db:seedRun the development server
# PHP
php artisan serve
# Yarn for InertiaJS and ReactJS
yarn watchYou can now access the server at http://localhost:8000
Using Laragon? Access the server at http://dream-space-screencasts.test
Google OAuth only available for localhost, which http://localhost:8000. Not support for http://dream-space-screencasts.test
Start queue worker IMPORTANT FOR SENDING EMAIL
php artisan queue:workCredentials
# administrator
email : admin@dreamspace.com
password : 123123123For receiving Payment Notification Callback, you have to expose your local server to the internet. For testing purpose, you can use ngrok.
ngrok http 8000Copy the https url and paste it to Midtrans Dashboard > Settings > Configuration > Payment Notification URL, with /api/notification-handler endpoint.
https://xxxxxxxxxxxx.ngrok.io/api/notification-handlerScreenshots

















