Skip to content

Novanglus96/LenoreSchedule

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

LenoreSchedule

A template for Django/Vue/Docker projects
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

A template for Django/Vue/Docker projects. Please read instructions.txt for insutructions on how to use this template.

(back to top)

Built With

  • Django
  • Vue
  • Docker

(back to top)

Getting Started

Welcome to LenoreSchedule! This guide will help you set up and run the application using Docker and Docker Compose.

Prerequisites

Make sure you have the following installed on your system:

Step 1: Create a .env File

Create a .env file in the root directory of the project. This file will store environment variables required to run the application. Below is an example of the variables you need to define:

DEBUG=0
SECRET_KEY=mysupersecretkey
DJANGO_ALLOWED_HOSTS=localhost
CSRF_TRUSTED_ORIGINS=http://localhost
SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=LenoreSchedule
SQL_USER=lenorescheduleuser
SQL_PASSWORD=somepassword
SQL_HOST=db
SQL_PORT=5432
DATABASE=postgres
DJANGO_SUPERUSER_PASSWORD=suepervisorpassword
DJANGO_SUPERUSER_EMAIL=someone@somewhere.com
DJANGO_SUPERUSER_USERNAME=supervisor
VITE_API_KEY=someapikey
TIMEZONE=America/New_York

Adjust these values according to your environment and application requirements.

Step 2: Create a docker-compose.yml File

Create a docker-compose.yml file in the root directory of the project. Below is an example configuration:

services:
  frontend:
    image: lenoreschedule_frontend:production
    container_name: lenoreschedule_frontend
    networks:
      - default
    restart: unless-stopped
    expose:
      - 80
    env_file:
      - ./.env
    environment:
      - TIMEZONE=America/New_York
      - TZ=${TIMEZONE}
  backend:
    image: lenoreschedule_backend:production
    container_name: lenoreschedule_backend
    command: /home/app/web/start.sh
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
      - postgres_bkp:/backups/
    expose:
      - 8000
    depends_on:
      - db
    networks:
      - default
      - backend
    env_file:
      - ./.env
  worker:
    image: lenoreschedule_worker:production
    container_name: lenoreschedule_worker
    command: /home/app/web/start_worker.sh
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
      - postgres_bkp:/backups/
    depends_on:
      - db
      - backend
    networks:
      - default
      - backend
    env_file:
      - ./.env
  db:
    image: postgres:18-trixie
    container_name: lenoreschedule_db
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - ./.env
    networks:
      - default
      - backend
    environment:
      - TZ=UTC
      - POSTGRES_USER=${SQL_USER}
      - POSTGRES_PASSWORD=${SQL_PASSWORD}
      - POSTGRES_DB=${SQL_DATABASE}
  nginx:
    image: novanglus96/lenoreapps_proxy:latest
    container_name: lenoreschedule_proxy
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
    depends_on:
      - backend
      - frontend
    networks:
      - default
    ports:
      - 7000:80
    environment:
      - TZ=${TIMEZONE}

volumes:
  postgres_data:
  static_volume:
  media_volume:
  postgres_bkp:
   
networks:
  backend:
    internal: true

Step 3: Run the Application

  1. Start the services:

    docker compose up -d
  2. Access the application in your browser at http://localhost:8080.

Notes

  • Adjust exposed ports as needed for your environment.
  • If you encounter any issues, ensure your .env file has the correct values and your Docker and Docker Compose installations are up to date.

Enjoy using LenoreSchedule!

(back to top)

Usage

See the full documentation.

(back to top)

Roadmap

  • some feature

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated. Please follow these steps and guidelines to help us maintain a smooth development process.

1. Fork the Repository

  • Click the Fork button at the top-right of this repository to create your own copy.
  • Clone your fork locally.

2. Branch Naming

Create branches following this pattern:

  • Features: feature/branch-name - For new features or enhancements.
  • Fixes: fix/branch-name - For bug fixes or patches.

3. Pull Request Targets

Submit pull requests to the appropriate branch based on the stability of your changes:

Target Branch Purpose
main Production-ready changes for release.
rc Release candidates for staging releases.
alpha Experimental and unstable changes.
beta More stable than alpha, for broader testing.

PRs to main and rc branches are for finalized changes intended for the next release. PRs to alpha and beta are for testing and experimental work.

4. Commit Message Format

We use semantic commit messages to automate changelog and versioning.

Format:

<type>(optional scope): <short description>
Common types
feat: A new feature
fix: A bug fix
chore: Changes to build process or auxiliary tools
docs: Documentation only
style: Formatting, missing semicolons, etc; no code change
refactor: Code change that neither fixes a bug nor adds a feature
perf: Performance improvements
test: Adding or fixing tests

Breaking changes: Add ! after type or scope

feat!: drop support for Node 10
fix(api)!: change endpoint response format

Examples:

  • feat: add user profile page
  • fix(auth): handle expired tokens gracefully
  • chore: update dependencies
  • perf: optimize image loading

5. Pull Request Checklist

Before submitting your PR, please ensure:

  • Your branch is up to date with the target branch.
  • Your code passes all tests and linters.
  • You have added or updated tests if applicable.
  • Relevant documentation has been added or updated.
  • Your PR description clearly explains your changes and references related issues.

6. Testing Changes

Please test your changes locally or in a staging environment before opening a PR. Use alpha or beta branches for testing experimental changes.

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Support

Buy Me A Coffee

Or

Contact

John Adams - Lenore.Apps@gmail.com

Project Link: https://github.com/Novanglus96/LenoreSchedule

(back to top)

Acknowledgements

A heartfelt thanks to our Patrons for their generous support! Your contributions help us maintain and improve this project.

⭐ Thank You to Our Supporters:

Red Supporter Badge Red Supporter Badge BuyMeACoffee Supporter Badge

Want to see your name here? Support us on Patreon to join our amazing community and shape the future of LenoreSchedule!

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors