No description
Find a file
2025-05-04 17:03:27 +00:00
conference_system feat: Current status 2025-05-03 12:15:14 +02:00
.dockerignore feat: Current status 2025-05-03 12:15:14 +02:00
.gitignore feat: Current status 2025-05-03 12:15:14 +02:00
config.dist.yaml feat: Current status 2025-05-03 12:15:14 +02:00
Dockerfile chore(deps): update python docker tag to v3.13 2025-05-04 15:12:46 +00:00
LICENSE feat: Current status 2025-05-03 12:15:14 +02:00
README.md feat: Current status 2025-05-03 12:15:14 +02:00
renovate.json Add renovate.json 2025-05-04 13:10:51 +00:00
requirements.txt feat: Current status 2025-05-03 12:15:14 +02:00

Conference Abstract Submission System

A modern, customizable abstract submission and review system built with Django.

Features

  • Clean, responsive design with custom CSS
  • Abstract submission with support for figures, tables, and supplementary materials
  • Multi-author management with ORCID integration
  • Comprehensive review system with configurable criteria
  • Double-blind review option
  • Email notifications
  • OAuth authentication with ORCID, Google, and GitHub
  • Easily configurable via YAML file

Requirements

  • Python 3.8+
  • PostgreSQL (recommended) or SQLite for development
  • SMTP server for email notifications (optional)

Installation

  1. Clone the repository:

    git clone https://git.private.coffee/privatecoffee/conference-system.git
    cd conference-system
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Copy the example configuration file:

    cp config.example.yaml config.yaml
    
  5. Edit the config.yaml file to customize your settings

  6. Run migrations:

    python manage.py migrate
    
  7. Create a superuser:

    python manage.py createsuperuser
    
  8. Run the development server:

    python manage.py runserver
    
  9. Visit http://127.0.0.1:8000/ in your browser

Configuration

The system is configured through the config.yaml file. You can customize:

  • Site information
  • Database settings
  • Email configuration
  • Abstract submission settings
  • Review process settings
  • Authentication options
  • Security settings
  • Storage options (local or S3)

See the comments in the config.dist.yaml file for detailed information on each setting.

Production Deployment

For production deployment:

  1. Set debug: false in your config.yaml
  2. Configure your database settings for PostgreSQL
  3. Set up a proper email backend
  4. Configure security settings
  5. Set up static file serving with a CDN or web server
  6. Use a production-ready web server like Gunicorn
  7. Set up a reverse proxy like Nginx
  8. Consider using Docker for containerization

Example Docker deployment:

docker build -t conference-system .
docker run -p 8000:8000 -v /path/to/config.yaml:/app/config.yaml conference-system

OAuth Configuration

To enable OAuth authentication:

  1. Create OAuth applications with the providers you want to use
  2. Add the credentials to your Django admin site
  3. Enable the providers in your config.yaml file

ORCID Setup

  1. Register an application at https://orcid.org/developer-tools
  2. Set the redirect URI to https://your-domain.com/accounts/orcid/login/callback/
  3. Add the client ID and secret in the Django admin under "Social applications"

License

This project is licensed under the MIT License - see the LICENSE file for details.