Skip to content

Novanglus96/LenoreShop

Repository files navigation


Logo

A simple shopping app.
Report Bug · Request Feature

About The Project

LenoreShop Screen Shot

Introducing LenoreShop, the ultimate shopping list app designed to streamline your grocery shopping experience. Whether you're managing a single shopping trip or juggling multiple stores, LenoreShop has you covered with its intuitive features and user-friendly interface.

Key Features:

  • Multiple Stores: Easily add as many stores as you frequent, ensuring all your favorite shopping destinations are covered.
  • Unlimited Shopping Lists: Create and manage multiple shopping lists for each store, helping you stay organized and efficient.
  • Customizable Aisles: Add aisles specific to each store and arrange them in the order you typically shop, making your trips faster and more convenient.
  • Item Organization: Add items to your lists by aisle, so you never miss a thing and can quickly find what you need.

Why Choose LenoreShop? LenoreShop is perfect for anyone who needs to shop, offering a tailored shopping experience that adapts to your personal preferences. With its seamless integration of Django for a robust backend and Vue for a sleek, responsive frontend, LenoreShop ensures a smooth and reliable user experience.

Simplify your shopping routine with LenoreShop and enjoy the convenience of a perfectly organized shopping trip every time.

(back to top)

Built With

  • Django
  • Vue
  • Docker

(back to top)

Getting Started

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

Prerequisites

Upgrading from a pre-1.7.0 multi-container install? See the Migration Guide.

Step 1: Create a .env File

Create a .env file in your deployment directory. The minimum required configuration:

DEBUG=0
SECRET_KEY=your-long-random-secret-key
DJANGO_ALLOWED_HOSTS=your-host-or-ip
CSRF_TRUSTED_ORIGINS=https://your-domain

# Optional: superuser created on first run
DJANGO_SUPERUSER_USERNAME=admin
DJANGO_SUPERUSER_EMAIL=admin@example.com
DJANGO_SUPERUSER_PASSWORD=changeme

See example.env in the repository for the full list of options including PostgreSQL, MySQL, and Redis.

Step 2: Create a docker-compose.yml File

Minimal setup (SQLite — no external database required):

services:
  app:
    image: novanglus96/lenoreshop:latest
    volumes:
      - lenoreshop_data:/home/app/web/data
      - lenoreshop_static:/home/app/web/staticfiles
      - lenoreshop_media:/home/app/web/mediafiles
    env_file:
      - ./.env
    ports:
      - "${APP_PORT:-7000}:80"
    restart: unless-stopped

volumes:
  lenoreshop_data:
  lenoreshop_static:
  lenoreshop_media:

Full setup (PostgreSQL + Redis):

services:
  app:
    image: novanglus96/lenoreshop:latest
    volumes:
      - lenoreshop_static:/home/app/web/staticfiles
      - lenoreshop_media:/home/app/web/mediafiles
    env_file:
      - ./.env
    ports:
      - "${APP_PORT:-7000}:80"
    depends_on:
      - db
      - redis
    restart: unless-stopped

  db:
    image: postgres:15
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - ./.env
    environment:
      - POSTGRES_USER=${SQL_USER}
      - POSTGRES_PASSWORD=${SQL_PASSWORD}
      - POSTGRES_DB=${SQL_DATABASE}
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    restart: unless-stopped

volumes:
  postgres_data:
  lenoreshop_static:
  lenoreshop_media:

For PostgreSQL, add these to your .env:

SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=lenoreshop
SQL_USER=lenoreshopuser
SQL_PASSWORD=somepassword
SQL_HOST=db
SQL_PORT=5432
REDIS_URL=redis://redis:6379/0

Full setup (MySQL/MariaDB + Redis):

services:
  app:
    image: novanglus96/lenoreshop:latest
    volumes:
      - lenoreshop_static:/home/app/web/staticfiles
      - lenoreshop_media:/home/app/web/mediafiles
    env_file:
      - ./.env
    ports:
      - "${APP_PORT:-7000}:80"
    depends_on:
      - db
      - redis
    restart: unless-stopped

  db:
    image: mysql:8
    volumes:
      - mysql_data:/var/lib/mysql
    env_file:
      - ./.env
    environment:
      - MYSQL_DATABASE=${SQL_DATABASE}
      - MYSQL_USER=${SQL_USER}
      - MYSQL_PASSWORD=${SQL_PASSWORD}
      - MYSQL_ROOT_PASSWORD=${SQL_PASSWORD}
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    restart: unless-stopped

volumes:
  mysql_data:
  lenoreshop_static:
  lenoreshop_media:

For MySQL, add these to your .env:

SQL_ENGINE=django.db.backends.mysql
SQL_DATABASE=lenoreshop
SQL_USER=lenoreshopuser
SQL_PASSWORD=somepassword
SQL_HOST=db
SQL_PORT=3306
REDIS_URL=redis://redis:6379/0

Step 3: Run the Application

docker compose up -d

Access the application at http://your-host:7000 (or your configured APP_PORT).

Notes

  • Static files and database migrations are applied automatically on startup.
  • The superuser is created automatically on first run if DJANGO_SUPERUSER_* vars are set.
  • If you encounter any issues, ensure your .env file has the correct values.

Enjoy using LenoreShop!

(back to top)

Roadmap

v1.7.0 ✅ Released

  • Single-container deployment
  • MySQL/MariaDB support
  • Demo data loader
  • Drag-and-drop aisle reordering
  • Offline mode (PWA)
  • UI refresh

v2.0.0 — Planned

  • Wishlists
  • Packing lists

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.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(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/LenoreShop

(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 LenoreShop!

(back to top)

About

A simple shopping list

Topics

Resources

License

Stars

65 stars

Watchers

1 watching

Forks

Sponsor this project

Packages

 
 
 

Contributors