Skip to content

About

An open source PMS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

LodgeRover

Django Python PostgreSQL Docker

Description

A PMS for managin reservations in hotels, touristic flats or rural homes.

Key Features

  • Two user roles: user and admin
  • Create customers and reservations
  • Automatically assign rooms to reservations based on the number of nights and guests
  • Calculates room occupation and total prices for each reservation
  • Updload documents for check in
  • PayPal integration

Prerrequisites

🖥️ Local

  • Python 3
  • PostgreSQL

🐳 Docker

  • Docker
  • Docker Compose

Instructions to Run the Project

  1. Clone this repository.
  2. Navigate to the project directory.

🖥️ Local

  1. Create vitual enviroment
python -m venv venv
  1. Activate virtual enviroment
  • Windows:
venv\Scripts\activate
  • Linux/Mac:
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. run server
python manage.py runserver

🐳 Docker

  1. Build the Docker image:
docker-compose build
  1. Start the services:
docker-compose up

Access the application at http://localhost:8000.

🌥️ Supported Cloud Providers

AWS S3

  • Service: Amazon S3
  • Bucket
  • Features: Standard S3 storage

Azure Blob Storage

  • Service: Azure Blob Storage
  • Features: SAS tokens for secure access

🔐 Security

AWS S3

  • Uses bucket policies for access control
  • Public read access for media files
  • IAM roles for secure access

Azure Blob Storage

  • Uses SAS tokens for secure access
  • No public access required
  • Time-limited URLs (1 hour default)
  • Automatic token regeneration

⚙️ Environment Variables

Create a .env file in the project root with the following configuration:

# Django Configuration
SECRET_KEY=your_secret_key_here
DDNS_HOSTNAME=your_domain

# PostgreSQL Database
POSTGRES_DB=reservation
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_postgres_password
DB_HOST=localhost
DB_PORT=5432

STORAGE_PROVIDER='azure' or 'aws'

# For Azure Blob Storage:
AZURE_ACCOUNT_NAME=your_azure_account
AZURE_ACCOUNT_KEY=your_azure_key
AZURE_CONTAINER=media

# For AWS S3:
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_STORAGE_BUCKET_NAME=your_bucket_name
AWS_S3_REGION_NAME=your_region


# Unsplash API (for room images)
# Get your Access Key at: https://unsplash.com/developers
UNSPLASH_ACCESS_KEY=your_unsplash_access_key_here

Images

image image image image

About

An open source PMS

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages