A Django-based web application for managing marine science conference registrations, abstract submissions, and payments. The system provides a complete solution for conference organization, including user authentication, payment processing, and content management.
- User registration and authentication system
- Abstract submission and management
- Payment integration for conference registration
- Admin dashboard for managing submissions
- Responsive design with multiple template themes
- Docker containerization for easy deployment
- Nginx configuration for production deployment
- Multi-environment support (development and production)
- Django
- PostgreSQL (configured via Docker)
- Nginx
- Docker & Docker Compose
- Bootstrap
- jQuery
- Various frontend libraries (AOS, Swiper, GLightbox, etc.)
sunithvs-marine-science/
├── apps/
│ ├── auth_login/ # Authentication & user management
│ ├── base/ # Core functionality & utilities
│ ├── payment/ # Payment processing
│ ├── maricon/ # Conference management
│ └── home/ # Main website content
├── config/ # Project configuration
│ └── settings/ # Environment-specific settings
├── templates/ # HTML templates
├── static/ # Static files (CSS, JS, images)
├── nginx/ # Nginx configuration
└── scripts/ # Utility scripts
- Docker and Docker Compose
- Python 3.x (for local development)
- Git
- Clone the repository:
git clone <repository-url>
cd sunithvs-marine-science
- Create environment file:
cp env.example .env
Edit .env
with your configuration values.
- Build and start the containers:
For development:
docker-compose up --build
For production:
docker-compose -f docker-compose-prod.yml up --build
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Run migrations:
python manage.py migrate
- Create superuser:
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
The project includes two Docker Compose configurations:
docker-compose.yml
: Development environmentdocker-compose-prod.yml
: Production environment with Nginx
- Configure your environment variables in
.env
- Build and start the production containers:
docker-compose -f docker-compose-prod.yml up --build -d
- Run linting:
python manage.py lint
- Collect static files:
python manage.py collectstatic
new_maricon/
: New conference theme templatesmaricon/
: Original conference templateshome/
: Main website templatespayment/
: Payment processing templates
- Vendor libraries in
static/assets/vendor/
- Custom styles in
static/css/
- JavaScript files in
static/js/
- Conference documents in
static/doc/
- Configure
settings/prod.py
for production deployment - Update
SECRET_KEY
in environment variables - Set up proper SSL/TLS in Nginx configuration
- Configure proper database credentials
- Set up backup systems for the database