dotCFP is a PHP/Laravel based conference talk submission system. This project is greatly inspired by the @opencfp.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app upgraded laravel version to 5.7 Oct 4, 2018
bootstrap initial commit Nov 19, 2017
config implemented #5 Nov 26, 2017
database implemented #7 Nov 26, 2017
public removed carousel css for fixing responsive Nov 21, 2017
resources fixed #11 pagination bug on most voted talks Jan 29, 2018
routes implemented comments feature for talks Nov 20, 2017
storage initial commit Nov 19, 2017
tests initial commit Nov 19, 2017
.env.example initial commit Nov 19, 2017
.gitattributes initial commit Nov 19, 2017
.gitignore added composer.lock to repository Nov 25, 2017
LICENSE initial commit Nov 19, 2017
README.md Update README.md Jan 17, 2019
artisan initial commit Nov 19, 2017
composer.json upgraded laravel version to 5.7 Oct 4, 2018
composer.lock
package.json initial commit Nov 19, 2017
phpunit.xml initial commit Nov 19, 2017
server.php initial commit Nov 19, 2017
travis.yml initial commit Nov 19, 2017
webpack.mix.js added version support for static files Nov 20, 2017
yarn.lock initial commit Nov 19, 2017

README.md

Readme Content

What is dotCFP

dotCFP is a PHP/Laravel based conference talk submission system. This project is greatly inspired by the @OpenCFP.

Features

  • 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.

Install

Requirements

dotCFP needs to Laravel 5.7 Requirements

Cloning The Repository

Run the following code for cloning dotCFP repository into your working directory.

  $ git clone git@github.com/emir/dotCFP.git

Dependencies

Get Composer for managing dependencies. Copy the composer.phar to project directory and run the following code.

  $ composer.phar install

Application Type

Go to config/app.php and set application type from env For production edit the name of file .env.example to .env

Check URL

Go to config/app.php and check url from url.

Mail Configuration

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

GitHub Integration

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

Creating a Database

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

Migration

Run the following code for migration.

php artisan migrate

Preparing the First Presentation

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.

Note

Call for Papers enable between cfp_start_date and cfp_end_date

Roles

  • 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.

Troubleshooting

Specified key was too long.

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);
}