Code Monkey home page Code Monkey logo

callforpapers's Introduction

Call For Papers

alt text

Features

  • Spring Boot Application
  • AngularJS Front-end
  • JWT Token
  • Localization (fr, en)
  • Material design

User Panel

  • Google, Github OAuth authentification
  • Account register (with email confirmation)
  • Talks submission (with email confirmation)
  • Save/delete draft

Admin Panel

  • Sort talks (by rate, date, track...)
  • Filter talks (by track, talker name, description...)
  • Rate talk
  • Comment talk

Setup

Change 127.0.0.1:8080 to your application domain for production

Obtaining OAuth Keys

  • Visit Google Cloud Console
  • Click CREATE PROJECT button
  • Enter Project Name, then click CREATE
  • Then select APIs & auth from the sidebar and click on Credentials tab
  • Click CREATE NEW CLIENT ID button
  • Application Type: Web Application
  • Authorized Javascript origins: http://127.0.0.1:8080
  • Authorized redirect URI: http://127.0.0.1:8080

Note: Make sure you have turned on Contacts API, Google+ API and Drive API in the APIs tab.


Obtaining reCAPTCHA Keys

Edit CFP Settings

Settings are provided by application.properties file or by JVM arguments.

Development settings are in config/application.properties of this repo. Global, embedded, settings are defined in src/main/resources/application.properties.

Please read Spring Boot documentation for more information:

You also need to edit src/main/static/app/scripts/app.js to add your providers tokens:

  .constant('Config', {
    'recaptcha': 'yourRecaptchaPublicToken',
    'googleClientId': 'yourGoogleClientId',
    'githubClientId': 'yourGithubClientId'
  })

Deployment

  • NodeJS is required to run frontend build tools. The build has been tested with version 4.2.2. Its installation is included in the Maven build. However, if you want to contribute to frontend, you may install it by yourself to be able to use frontend build tools from the command line.

Development

You need a MySQL database to start the application. If you have Docker, you can launch one for development with

$ mysql-dev.sh

Backend development

If you intend to contribute to backend exclusively and don't want to deal with the NodeJS tools necessary for frontend development and build, you can start the application with the following command:

$ mvn -Prelease spring-boot:run

You can start fr.sii.Application#main() on your favorite IDE too.

Frontend development

Frontend contributors can use usual frontend build tools from the command line:

  • Gulp and Bower are required to build. You can install them with:

    $ npm install -g gulp bower
  • To install build tools dependencies specified in package.json, you have to run the following in project root folder:

    $ npm install
  • To install project third party libraries specified in bower.json, you have to run the following in project root folder:

    $ bower install

A Gulp task gulp serve is available to facilitate contributions to the front code. It starts a web server on port 3000 for files in src/main/static/app directory. Livereload is configured and requests to the backend are forwarded to the AppEngine development server (http://127.0.0.1:8080) thanks to an proxy.

```bash
$ gulp serve # or gulp serve:dist for minified version of front files, but no livereload in this case
```

Usage :

Manage admin users :

  • Visit Google Cloud Console
  • Select your project
  • Click Permissions button
  • Click Add member button :
  • Email: New member e-mail
  • Can view

App entry points :

Contribution and project infrastructure

Development take places on branch master. We have a CI job setup to validate pull-requests, please avoid direct push to master. Contributors, please sign-off your commits (git commit --signoff) Production environment is configured to deploy from production branch. Another CI job do build and deploy from this branch automatically. So please test from master branch before pushing to production.

callforpapers's People

Contributors

alexthomazo avatar jlandure avatar jljouannic avatar lhuet avatar manekinekko avatar marcaudefroy avatar megamisan avatar nbulteau avatar ndeloof avatar sebbrousse avatar sguernion avatar srevereault avatar thom-x avatar xavmarc avatar ydubreuil avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.