Skip to content

A simple restaurant website created with Django

Notifications You must be signed in to change notification settings

hossein1376/YummyFingerFood

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yummy Fingerfood

A simple restaurant website created with Django 4.0
It features:

  • Ordring app
    • Fully functional CRUD operations
    • Order history
    • Authenticated-Only visibility
    • Place Order based on the Menu models (ManyToMany relation)
    • User cannot view or modify other users' Orders
    • Admin can disable the edit and delete for processed Orders
  • Accounts app
    • Custom User Model
    • Utilize Phone Number instead of username
    • Registration and Authentication
    • Change password
    • User Profile
  • Menu app
    • Anonymous visibility
    • Admin can add, edit or delete items
    • Each sub-Menu has its own model
    • Menu models use model-inheritance for code brevity
    • All Menu pages use one, single HTML template file
  • API endpoints
    • Menu items
    • Account authentication (Soon)
    • Place Order (Soon)
  • Test Cases
    • Each App has its own extensive test cases

The API endpoint is intended to be integrated with a front-end framework (such as React) if the need arises later on.

Notice

The website is almost fully localized into Persian using I18N and verbose_name and it uses Jalali (Iranian) calendar. This is intended for end users.
Everything back-end was kept in English and the naming is, I believe, fairly straightforward.
I'm planning to do an English version of the Website in future.

Usage

Clone/download the project and install the dependencies (preferably inside a virtual environment) based on the requirements.txt.
Migrations are already included, run python manage.py migrate to apply them.
Create admin with python manage.py createsuperuser command. Then, run the server with python manage.py runserver.