Skip to content

πŸ‘©β€πŸ’»Β«πŸ Β«πŸƒΒ«πŸ‘¨β€πŸ³ Fully open-source online food delivery website built using Python, Django web framework, Bootstrap4, React... Easily browse through a wide variety of salads, customize their ingredients, and have them conveniently delivered to the doorstep.

License

ya-yura/salatik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

86 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SALATIK β€”Β Salad Delivery Project

forthebadge forthebadge forthebadge

The SALATIK Project is an innovative web application that aims to revolutionize the way people order and enjoy healthy and delicious salads. With our platform, customers can easily browse through a wide variety of salads, customize their ingredients, and have them conveniently delivered to their doorstep.

Key Features

  • Extensive Salad Menu: Explore an extensive menu of mouthwatering salads, ranging from classic favorites to unique creations. Each salad is carefully crafted using the freshest and finest ingredients.

  • Customization Options: Personalize your salads to suit your taste and dietary preferences. Choose from a wide selection of ingredients, dressings, and toppings to create the perfect salad combination.

  • User Profiles: Create your own user profile and manage your preferences. Save your favorite salad combinations for quick and easy reordering.

  • Easy Ordering Process: Our intuitive and user-friendly interface makes it a breeze to place your salad orders. Simply select your desired salad, customize it to your liking, and proceed to checkout.

  • Delivery Tracking: Track the status of your salad delivery in real-time. Stay informed about the estimated delivery time and receive updates on the progress of your order.

  • Secure Payment Options: We prioritize the security of your transactions. Enjoy peace of mind with our secure and seamless payment options, ensuring that your financial information is protected.

  • Responsive Design: Access the Salad Delivery Project from any device. Our platform is fully responsive, providing a seamless and enjoyable user experience on desktop, tablet, and mobile devices.

Get Started

To get started with the SALATIK Project, follow these steps:

  1. Clone the repository to your local machine.
  2. Set up the necessary dependencies by running the installation commands.
  3. Configure the database settings according to your environment.
  4. Run the application using the provided command.
  5. Access the application through your preferred web browser.

Contributing

We welcome and encourage contributions to the SALATIK Project. If you have any ideas, bug reports, or feature requests, feel free to open an issue or submit a pull request. Let's collaborate to make the project even better!

Feedback and Support

If you have any questions, feedback, or need assistance with the SALATIK Project, please don't hesitate to reach out. We're here to help and ensure that you have the best experience with our platform.

License

The SALATIK Project is released under the GNU General Public License (GPL). Feel free to modify, distribute, and use the code for your own purposes.


By combining the convenience of online ordering, the freshness of premium ingredients, and the joy of enjoying a healthy meal, the Salad Delivery Project aims to make nutritious eating accessible and enjoyable for everyone. Join us on this culinary journey and elevate your salad experience to new heights!

Architecture of the project

Architcture of app scheme.

1. РСгистрация ΠΈ авторизация

1.1 РСгистрация

  • Доступна систСма рСгистрации для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

  • ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля: Π»ΠΎΠ³ΠΈΠ½, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, email.

  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡΡ валидация email ΠΏΡ€ΠΈ рСгистрации (ΠΏΠΎ ТСланию).

1.2 Авторизация

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠΉΡ‚ΠΈ Π² систСму с использованиСм своСго Π»ΠΎΠ³ΠΈΠ½Π° ΠΈ пароля.

1.3 Π ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

  • Π ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ: Аноним, Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ, ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŒ, ΠšΡƒΡ€ΡŒΠ΅Ρ€, Администратор.

  • Администратор устанавливаСт Ρ€ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

1.4 Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€ΠΎΠ»Π΅ΠΉ

1.4.1. Роль «Аноним»:

  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ описаний ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² салат ΠΈ салатов.
  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ†Π΅Π½, Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ, ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².
  • Π‘Π±ΠΎΡ€ Π½Π°Π±ΠΎΡ€Π° для Π·Π°ΠΊΠ°Π·Π°.

1.4.2. Роль «АутСнтифицированный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ)Β»:

  • ВсС возмоТности Ρ€ΠΎΠ»ΠΈ «Аноним».
  • ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π° салата.
  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ сообщСний ΠΎΡ‚ ΠΊΡƒΡ€ΡŒΠ΅Ρ€Π° ΠΈΠ»ΠΈ сборщика.
  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ истории Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΈ ΠΈΡ… статусов.
  • ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ² ΠΈ ΠΎΡ†Π΅Π½ΠΎΠΊ для Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… салатов.
  • ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡ΡƒΠΆΠΈΡ… ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ².
  • Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ собствСнных ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ², ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ салатов.

1.4.3. Роль Β«Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊΒ»:

  • ИзмСнСниС статусов Π·Π°ΠΊΠ°Π·ΠΎΠ².
  • ИзмСнСниС стоимости ΠΈ количСства ΠΈΠ½Π³Ρ€Π΅Π΄ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° складС.
  • Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ описания ΠΈ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² салатов.
  • ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний ΠΊΡƒΡ€ΡŒΠ΅Ρ€Ρƒ ΠΈ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π·Π°ΠΊΠ°Π·Π°.
  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ для ΠΊΡƒΡ€ΡŒΠ΅Ρ€Π° ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·Π°Ρ….

1.4.4. Роль Β«ΠšΡƒΡ€ΡŒΠ΅Ρ€Β»:

  • ИзмСнСниС статусов Π·Π°ΠΊΠ°Π·ΠΎΠ² (Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ).
  • ΠžΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ сообщСний ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈ сборщику Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π·Π°ΠΊΠ°Π·Π°.
  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± адрСсС ΠΈ мСстополоТСнии Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°.
  • ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·Π°Ρ… ΠΎΡ‚ сборщика.

1.4.5. Роль «Администратор»:

  • ΠŸΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ всСм ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  • НазначСниС Ρ€ΠΎΠ»Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.
  • ΠžΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора Django ΠΈ доступом ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ администрирования Django.

2. БСрвисы ΠΈ страницы части Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°

2.1 Главная страница

  • На Π³Π»Π°Π²Π½ΠΎΠΉ страницС отобраТаСтся список Ρ€Π΅Ρ†Π΅ΠΏΡ‚ΠΎΠ² салатов, отсортированных ΠΏΠΎ Π΄Π°Ρ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ (ΠΎΡ‚ Π½ΠΎΠ²Ρ‹Ρ… ΠΊ старым).

2.2 Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° салата

  • На страницС салата отобраТаСтся ΠΏΠΎΠ»Π½ΠΎΠ΅ описаниС салата.

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ салат Π² ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅.

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ салат Π² список ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ.

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° Π°Π²Ρ‚ΠΎΡ€Π° салата.

2.3 Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

  • На страницС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ отобраТаСтся личная информация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (имя, ΠΏΠΎΡ‡Ρ‚Π°, Ρ‚Π΅Π», список адрСсов).

  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ всС салаты, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

2.4 Бписок ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ

  • ДоступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ салаты ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΡ… Π² список ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ.

  • На страницС списка ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ всС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ салаты.

  • ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ список ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ .txt ΠΈΠ»ΠΈ PDF.

  • Π˜Π½Π³Ρ€Π΅Π΄ΠΈΠ΅Π½Ρ‚Ρ‹ Π² спискС ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ; ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ суммированы.

2.5 Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ Ρ‚Π΅Π³Π°ΠΌ

  • ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚Π΅Π³Π° отобраТаСтся список салатов, ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… этим Ρ‚Π΅Π³ΠΎΠΌ.

  • Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎ нСскольким Ρ‚Π΅Π³Π°ΠΌ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Β«ΠΈΠ»ΠΈΒ».

3. Π§Π°ΡΡ‚ΡŒ систСмы для ΠΊΡƒΡ…Π½ΠΈ

3.1 Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Π°ΠΌΠΈ

  • БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ управлСния Π·Π°ΠΊΠ°Π·Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΊΡƒΡ…ΠΎΠ½Π½ΠΎΠΌΡƒ пСрсоналу Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ‹ ΠΈ ΠΈΡ… статус.

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° управлСния ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Π³Ρ€Π΅Π΄ΠΈΠ΅Π½Ρ‚ΠΎΠ².

  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°ΠΊΠ°Π· Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ салатах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, ΠΈ ΠΈΡ… количСствС.

  • ΠšΡƒΡ…ΠΎΠ½Π½Ρ‹ΠΉ пСрсонал Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ статус ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Π°, отмСчая Π΅Π³ΠΎ ΠΊΠ°ΠΊ "Π½ΠΎΠ²Ρ‹ΠΉ", "Π² процСссС", "Π³ΠΎΡ‚ΠΎΠ²" ΠΈΠ»ΠΈ "Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½".

3.2 УвСдомлСния ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·Π°Ρ…

  • ΠšΡƒΡ…ΠΎΠ½Π½Ρ‹ΠΉ пСрсонал Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ увСдомлСния ΠΎ поступлСнии Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·ΠΎΠ² для быстрой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

  • УвСдомлСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, Ρ‡Π΅Ρ€Π΅Π· систСму ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ способами, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ для ΠΊΡƒΡ…ΠΎΠ½Π½ΠΎΠ³ΠΎ пСрсонала.

3.3 ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ приготовлСния

  • БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ салата.

  • ΠšΡƒΡ…ΠΎΠ½Π½Ρ‹ΠΉ пСрсонал ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° салат Π±Ρ‹Π» Π½Π°Ρ‡Π°Ρ‚ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±Ρ‹Π» Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс приготовлСния ΠΈ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ сроки выполнСния Π·Π°ΠΊΠ°Π·ΠΎΠ².

3.4 УвСдомлСния ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ

  • ΠšΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ слСдуСт ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ увСдомлСния ΠΎ состоянии ΠΈ прогрСссС ΠΈΡ… Π·Π°ΠΊΠ°Π·ΠΎΠ².

  • УвСдомлСния ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΈ Π·Π°ΠΊΠ°Π·Π°, ΠΎ готовности Π·Π°ΠΊΠ°Π·Π° для самовывоза ΠΈΠ»ΠΈ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ доставки.

  • УвСдомлСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, смс ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· увСдомлСния Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

3.5 Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с систСмой ΠΎΠΏΠ»Π°Ρ‚Ρ‹

  • ΠŸΡ€ΠΈ нСобходимости систСма ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° с систСмой ΠΎΠΏΠ»Π°Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ свои Π·Π°ΠΊΠ°Π·Ρ‹ ΠΎΠ½Π»Π°ΠΉΠ½.

  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ½Ρ‹ΠΌΠΈ шлюзами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ЯндСкс, Π‘Π±Π΅Ρ€ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Π΅ΠΆΠΈ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ автоматичСски ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ статус Π·Π°ΠΊΠ°Π·Π° послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΎΠΏΠ»Π°Ρ‚Ρ‹.

4. Cписок Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… страниц ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΊΠ°Π·Π°ΠΌΠΈ Π½Π° ΠΊΡƒΡ…Π½Π΅:

4.1. Бписок заказов:

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ список ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΡ… Π·Π°ΠΊΠ°Π·ΠΎΠ².

  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°ΠΊΠ°Π· Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… салатах ΠΈ ΠΈΡ… количСствС.

  • ΠšΡƒΡ…ΠΎΠ½Π½Ρ‹ΠΉ пСрсонал ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ статус ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Π° (Π½ΠΎΠ²Ρ‹ΠΉ, Π² процСссС, Π³ΠΎΡ‚ΠΎΠ², Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½).

4.2. Π”Π΅Ρ‚Π°Π»ΠΈ Π·Π°ΠΊΠ°Π·Π°:

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ Π·Π°ΠΊΠ°Π·Π΅.

  • Π—Π΄Π΅ΡΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ доступна информация ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… салатах ΠΈ ΠΈΡ… количСствС.

  • ΠšΡƒΡ…ΠΎΠ½Π½Ρ‹ΠΉ пСрсонал ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ статус Π·Π°ΠΊΠ°Π·Π° ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Β«Π² процСссС», Β«Π³ΠΎΡ‚ΠΎΠ²Β» ΠΈΠ»ΠΈ Β«Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Β».

4.3. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ приготовлСния:

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°, Π³Π΄Π΅ ΠΊΡƒΡ…ΠΎΠ½Π½Ρ‹ΠΉ пСрсонал ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ врСмя приготовлСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ салата.

  • Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ салата Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ поля «Начало приготовлСния» ΠΈ Β«Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ приготовлСния», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π°Ρ‡Π°Π»Π° ΠΈ окончания приготовлСния.

  • Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс приготовлСния ΠΈ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ сроки выполнСния Π·Π°ΠΊΠ°Π·ΠΎΠ².

4.4. УвСдомлСния ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·Π°Ρ…:

  • БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ увСдомлСния ΠΊΡƒΡ…ΠΎΠ½Π½ΠΎΠΌΡƒ пСрсоналу ΠΎ поступлСнии Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·ΠΎΠ².

  • УвСдомлСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, Ρ‡Π΅Ρ€Π΅Π· систСму ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом.

5. Π Π°Π·Π΄Π΅Π» систСмы, связанный с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΊΡƒΡ€ΡŒΠ΅Ρ€Π°:

5.1. Бписок Π·Π°ΠΊΠ°Π·ΠΎΠ² для доставки:

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ список Π·Π°ΠΊΠ°Π·ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… доставки.

  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°ΠΊΠ°Π· Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, адрСсС доставки ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… салатах.

5.2. Π”Π΅Ρ‚Π°Π»ΠΈ Π·Π°ΠΊΠ°Π·Π°:

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π°Ρ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ Π·Π°ΠΊΠ°Π·Π΅ для доставки.

  • Π—Π΄Π΅ΡΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ доступна информация ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, адрСсС доставки ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… салатах.

  • ΠšΡƒΡ€ΡŒΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π· ΠΊΠ°ΠΊ Β«Π² доставкС» ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ врСмя доставки.

5.3. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ статусом доставки:

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°, Π³Π΄Π΅ ΠΊΡƒΡ€ΡŒΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ статус доставки для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Π°.

  • ΠšΡƒΡ€ΡŒΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ°Π· ΠΊΠ°ΠΊ «доставлСн» послС выполнСния доставки.

5.4. ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ доставки:

  • Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π°, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΊΡƒΡ€ΡŒΠ΅Ρ€Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π΅ доставки.

  • Π—Π΄Π΅ΡΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° ΠΊΠ°Ρ€Ρ‚Π° с ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°ΠΌΠΈ адрСсов доставки для ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ планирования ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°.

5.5. УвСдомлСния ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·Π°Ρ… ΠΈ обновлСниях статуса:

  • БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ увСдомлСния ΠΊΡƒΡ€ΡŒΠ΅Ρ€Ρƒ ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π·Π°ΠΊΠ°Π·Π°Ρ… ΠΈ измСнСниях статуса доставки.

  • УвСдомлСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, Ρ‡Π΅Ρ€Π΅Π· систСму ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ прилоТСния ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом.

Database design

erDiagram
    USER {
        username CharField
        email EmailField
        password CharField
        first_name CharField
        last_name CharField
        bio TextField
        active BooleanField
    }
    ROLE {
        name CharField
        users ManyToManyField
    }
    CUSTOMER_ADDRESS {
        city CharField
        street CharField
        house IntegerField
        flat IntegerField
        users ForeignKey
    }
    INGREDIENT_TYPE {
        name CharField
        slug SlugField
        is_available BooleanField
        created_at DateTimeField
        updated_at DateTimeField
    }
    INGREDIENTS {
        name CharField
        slug SlugField
        photo ImageField
        type ForeignKey
        price_per_unit DecimalField
        protein FloatField
        fat FloatField
        carbohydrates FloatField
        energy FloatField
        is_available BooleanField
        created_at DateTimeField
        updated_at DateTimeField
    }
    SALAD {
        name CharField
        slug SlugField
        description TextField
        is_available BooleanField
        created_at DateTimeField
        updated_at DateTimeField
        creator ForeignKey
    }
    COMPONENT {
        salad ForeignKey
        slug SlugField
        ingredient ForeignKey
        weight DecimalField
        order IntegerField
        is_available BooleanField
        created_at DateTimeField
        updated_at DateTimeField
    }
    ORDER {
        user ForeignKey
        salad ForeignKey
        status ForeignKey
        total_price DecimalField
        created_at DateTimeField
        updated_at DateTimeField
    }
    STATUS {
        name CharField
    }
    PAYMENT {
        order ForeignKey
        amount DecimalField
        timestamp DateTimeField
    }
    DELIVERY {
        order ForeignKey
        courier ForeignKey
        address CharField
        status CharField
        delivery_fee DecimalField
        created_at DateTimeField
        updated_at DateTimeField
    }

    PAYMENT ||--|| ORDER : for
    DELIVERY ||--|| ORDER : for
    DELIVERY ||--|| USER : for
    ORDER ||--|| USER : by
    ORDER ||--|{ SALAD : for
    ORDER ||--|| STATUS : of
    COMPONENT ||--|| SALAD : of
    COMPONENT ||--|{ INGREDIENTS : with
    SALAD ||--|| USER : by
    INGREDIENTS ||--|| INGREDIENT_TYPE : of
    USER }|--|{ ROLE : of
    USER ||--|{ CUSTOMER_ADDRESS : by

Orders statuses

sequenceDiagram
    activate Customer

    break Booking cancelled
    Customer --x Customer: show failure
    end
    Note right of Customer: Paid
    Customer ->> Kitchen: 
    deactivate Customer

    activate Kitchen
    break Order cancelled
    Kitchen -->> Kitchen: Denied
    Kitchen --x Customer: Refunded
    end

    Note right of Kitchen: Order Preparing

    Kitchen -->> Delivery: Prepare
    deactivate Kitchen
 
    activate Delivery
    Note right of Delivery: Pending
    break Order cancelled
    Delivery -->> Delivery: Denied
    Delivery --x Customer: Refunded
    end
    Note right of Delivery: Picking
    Note right of Delivery: Delivery
    Note right of Delivery: Complete
    Delivery -->> Customer: 
    deactivate Delivery

UML diagrams

You can render UML diagrams using Mermaid. For example, this will produce a sequence diagram:

And this will produce a flow chart:

flowchart TB
    c1-->a2
    subgraph one 
    a1-->a2
    end
    subgraph two 
    b1-->b2
    end
    subgraph three
    id1{{c1}}-->id2[/c2/]
    end
    id4>one] --> id5(two)
    three --> id5(two)
    id5(two) --> c2
    style a2 fill:#f9f,stroke:#333,stroke-width:4px

About

πŸ‘©β€πŸ’»Β«πŸ Β«πŸƒΒ«πŸ‘¨β€πŸ³ Fully open-source online food delivery website built using Python, Django web framework, Bootstrap4, React... Easily browse through a wide variety of salads, customize their ingredients, and have them conveniently delivered to the doorstep.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published