Git Product home page Git Product logo

cs50x_final_project's Introduction

python FastAPI

Restaurant POS (Point of Sale)

CS50X

This is my final project for CS50โ€™s Introduction to Computer Science.

Features

  • Fastapi
  • Uvicorn
  • Jinja2
  • SqlAlchemy
  • Pydantic
  • Bcrypt
  • Passlib

Description

This is my final project for CS50X, and it is a Restaurant point of sale aplication in which you can manage the sales and the inventory of the restaurant, each user has a rol and each rol has diferent privileges, from adding new food and driks to delete, add or change users privileges. To begin, you need to log in as an administrator to add new roles or make changes. There are four types of roles available

All users are initially registered as customers. An administrator must change their roles, and your assigned role determines what actions you can perform. The next diagrams shows the relation beteewn tables and views

relational_diagram web_acces_diagram

On the db folder you will find all the files that interact or describe database functionalities.

  • database.py: The database connection and get_db function to yield a session to the database
  • database.db: The sqlite database
  • db_models: The ORMs basicaly the description of every table in the database
  • models: pydantic models for the API
  • xxx_actions: The actions of every object in the database

The static folder has all the files and CSS styles that are used on the templates.

The templates folder contains every HTML template used in the application.

The main.py file is the app definition it contains and start the aplication

Administrator

An administrator can perform all tasks, including creating or deleting users, and can also act as a customer or any other role.

Chef

The chef will have full control over order management. They can change the order status, allowing the customer to track their order effectively. The chef can manage the entire menu by adding or deleting items. They will also need to start the menu fresh at the beginning of each day to create the daily menu

Waiter

Waiters can view the menu, create orders, and generate invoices.

Customers

Finally, customers are limited to viewing the menu and accessing information about the ingredients used in each recipe.

Documentation

cs50x_final_project's People

Contributors

andreskenji avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.