background
Home / Portfolio / Dream Space Screencast
PORTFOLIO

Dream Space Screencast

Dream Space is robust platform for developer. Push your development skills to the next level, through this screencast learning platform.

#Laravel  #InertiaJS  #ReactJS  

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

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

1git clone https://github.com/raprmdn/dream-space-screencasts.git
bash

cd into project directory

1cd dream-space-screencasts
bash

Install dependencies

1# composer 2composer install 3 4# yarn 5yarn install
bash

Copy the example env file and make the required configuration changes in the .env file

1cp .env.example .env
bash

Generate a new application key

1php artisan key:generate
bash

Configure the .env file

.env
1# SMTP with Mailtrap 2# Mailtrap is a fake SMTP server for development and testing purposes. 3MAIL_MAILER=smtp 4MAIL_HOST=smtp.mailtrap.io 5MAIL_PORT= 6MAIL_USERNAME= 7MAIL_PASSWORD= 8MAIL_ENCRYPTION=tls 9MAIL_FROM_ADDRESS= 10MAIL_FROM_NAME= 11 12# Google OAuth 13# You can use Google OAuth for login. 14GOOGLE_CLIENT_ID= 15GOOGLE_CLIENT_SECRET= 16GOOGLE_REDIRECT= 17 18# Filesystem 19FILESYSTEM_DRIVER=public
dotenv

Configure Midtrans payment gateway.

Open database/seeders/MidtransConfigSeeder.php and change following code.

MidransConfigSeeder.php
1MidtransConfig::create([ 2 'status' => 'Disable', 3 'environment' => false, 4 'merchant_id' => 'Input your merchant id here', 5 'client_key' => 'Input your client key here', 6 'server_key' => 'Input your server key here', 7 'sanitized' => true, 8 'enable_3d_secure' => true, 9]);
php

Symlink storage folder

1php artisan storage:link
bash

Run the database migrations (Set the database connection in .env before migrating)

1php artisan migrate
bash

Run the database seeder IMPORTANT

1php artisan db:seed
bash

Run the development server

1# PHP 2php artisan serve 3 4# Yarn for InertiaJS and ReactJS 5yarn watch
bash

You 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

1php artisan queue:work
bash

Credentials

1# administrator 2email : admin@dreamspace.com 3password : 123123123
bash

For receiving Payment Notification Callback, you have to expose your local server to the internet. For testing purpose, you can use ngrok.

1ngrok http 8000
bash

Copy the https url and paste it to Midtrans Dashboard > Settings > Configuration > Payment Notification URL, with /api/notification-handler endpoint.

1https://xxxxxxxxxxxx.ngrok.io/api/notification-handler
bash

Screenshots

Sign In
Sign In
Homepage
Home
Series
Series
Watch Series
Watching a series video
Comment
Comment section
Topics
Topics
Payment
Payment Gateway with Midtrans
Profile Activity
Profile Activity
List Series Dashboard
List series dashboard
Create Series
Create series
List Videos Dashboard
List videos dashboard
List Topics Dashboard
List topics dashboard
Role and Permission
Role and Permissions
List orders
List orders
Payment Configuration
Midtrans payment configuration
Payment Type
List payment type
Payment Channel
List payment channel
Payment Channel Create
Create payment channel