dotCFP is a PHP/Laravel based conference talk submission system. This project is greatly inspired by the @OpenCFP.
- Propose, vote, comment and confirmation system from all authorized user roles for talks.
- Registration, transportation and accommodation information entry for speakers.
- Profile management for speakers, reviewers and admins.
- User roles management for admins.
- Mail notifications and reminders.
- Detailed event announcement system.
dotCFP needs to Laravel 5.7 Requirements
Run the following code for cloning dotCFP repository into your working directory.
$ git clone git@github.com/emir/dotCFP.git
Get Composer for managing dependencies. Copy the composer.phar to project directory and run the following code.
$ composer.phar install
Go to config/app.php
and set application type from env
For production edit the name of file .env.example
to .env
Go to config/app.php
and check url from url
.
Go to config/mail.php
and set your mail configuration.
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Create your GitHub OAuth app from here for authentication and set OAuth app.
Homepage URL
: YOUR_HOMEPAGE_URL
Authorization callback URL
: YOUR_HOMEPAGE_URL/login/github/callback
Enter the OAuth app information in .env
file.
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_CALLBACK_URL=YOUR_HOMEPAGE_URL/login/github/callback
Create a database from your server and go .env
file to set database.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dotcfp
DB_USERNAME=root
DB_PASSWORD=
Run the following code for provide secure passwords and user sessions.
php artisan key:generate
Run the following code for migration.
php artisan migrate
Go to config/dtcfp.php
for first presentation.
config/dtcfp.php
contains details that you can edit the event details on the homepage.
All variables should be customized for your event.
Call for Papers
enable between cfp_start_date
and cfp_end_date
- User
- Can login with GitHub.
- Determine the state of transportation.
- Can be send many talk proposes.
- Reviewer
- Can send new talks.
- Can edit or delete their own conversations.
- Can view all talks and comments.
- Can comment on all conversations.
- Admin
- Can send new talks.
- Can authorize all users Admin or Reviewer roles.
- Can edit or delete all conversations.
This error only occurs under 5.7.7 versions of MySQL.
Go to app/providers/AppServiceProvider.php
and set a default string length.
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}