Skip to content

Home


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 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=(docker-ip)
CSRF_TRUSTED_ORIGINS=http://(docker-ip)
SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=lenoreshop
SQL_USER=lenoreshopuser
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

Adjust these values according to your environment and application requirements. Make sure to modify the DJANGO_ALLOWED_HOSTS and CSRF_TRUSTED_ORIGINS sections.

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: novanglus96/lenoreshop_frontend:latest
    container_name: lenoreshop_frontend
    networks:
      - lenoreshop
    restart: unless-stopped
    expose:
      - 80
    env_file:
      - ./.env
  backend:
    image: novanglus96/lenoreshop_backend:latest
    container_name: lenoreshop_backend
    command: /home/app/web/start.sh
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
    expose:
      - 8000
    depends_on:
      - db
    networks:
      - lenoreshop
    env_file:
      - ./.env
  db:
    image: postgres:15
    container_name: lenoreshop_db
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - ./.env
    networks:
      - lenoreshop
    environment:
      - POSTGRES_USER=${SQL_USER}
      - POSTGRES_PASSWORD=${SQL_PASSWORD}
      - POSTGRES_DB=${SQL_DATABASE}
  nginx:
    image: novanglus96/lenoreapps_proxy:latest
    container_name: lenoreshop_nginx
    ports:
      - "8080:80"
    volumes:
      - static_volume:/home/app/web/staticfiles
      - media_volume:/home/app/web/mediafiles
    depends_on:
      - backend
      - frontend
    networks:
      - lenoreshop

networks:
  lenoreshop:

volumes:
  postgres_data:
  static_volume:
  media_volume:

Step 3: Run the Application

  1. Start the services:

bash docker compose up -d

  1. 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 LenoreShop!

(back to top)

Roadmap

  • [ ] v2.0 Release
    • [ ] Improved UI
    • [ ] Offline Mode
  • [ ] Google/Alexa assistant integration
  • [ ] Import from other sources

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)