No description
|
||
---|---|---|
conference_system | ||
.dockerignore | ||
.gitignore | ||
config.dist.yaml | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
renovate.json | ||
requirements.txt |
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
-
Clone the repository:
git clone https://git.private.coffee/privatecoffee/conference-system.git cd conference-system
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Copy the example configuration file:
cp config.example.yaml config.yaml
-
Edit the
config.yaml
file to customize your settings -
Run migrations:
python manage.py migrate
-
Create a superuser:
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
-
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:
- Set
debug: false
in yourconfig.yaml
- Configure your database settings for PostgreSQL
- Set up a proper email backend
- Configure security settings
- Set up static file serving with a CDN or web server
- Use a production-ready web server like Gunicorn
- Set up a reverse proxy like Nginx
- 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:
- Create OAuth applications with the providers you want to use
- Add the credentials to your Django admin site
- Enable the providers in your
config.yaml
file
ORCID Setup
- Register an application at https://orcid.org/developer-tools
- Set the redirect URI to
https://your-domain.com/accounts/orcid/login/callback/
- 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.