npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

restaurantt

v1.0.13

Published

This package contains a backend of what would be the logic of a restaurant software

Downloads

18

Readme

Restaurant

This package contains a backend of what would be the logic of a restaurant software

Requirements

Restaurant staff requirements

  • Manage the number of tables in the restaurant

  • Manage the categories of each dish

  • Manage dishes and their ingredients

  • Manage system users

  • Manage restaurant charges

  • Select table for the customer

  • Manage customer orders

Requirements of the customer

  • Consult the dishes

  • View list of dishes that the customer has selected

  • Place orders

Usage


const { DataBill } = require("./data/DataBill");
const { DataCategory } = require("./data/DataCategory");
const { DataCustomer } = require("./data/DataCustomer");
const { DataDish } = require("./data/DataDish");
const { DataOrder } = require("./data/DataOrder");
const { DataTable } = require("./data/DataTable");
const { DataTableCustomer } = require("./data/DataTableCustomer");
const { DataUser } = require("./data/DataUser");
const { DishIngredients } = require("./DishIngredients/dishes");
const { DTOCategory } = require("./DTO/DTOCategory");
const { DTOCustomer } = require("./DTO/DTOCustomer");
const { DTODish } = require("./DTO/DTODish");
const { DTOOrder } = require("./DTO/DTOOrder");
const { DTOUser } = require("./DTO/DTOUser");
const { HashPassword } = require("./Hash_Login/hashPassword");
const { LoginUser } = require("./Hash_Login/LoginUser");
const { Order } = require("./Orders/order");

#region USERS

let usermaintenance=async()=>
{

    async function registerUser() {
        for (let i = 1; i < 10; i++) {

            let dtouser = new DTOUser();
            dtouser.IDCardU=`11111111111${i}` ;
            dtouser.NamesUserU=`User${i}`;
            dtouser.CityU=`City${i}`;
            dtouser.TypeUserU="Administrator" ;
            dtouser.PasswordUserU=`Password${i}`;

            const passh = HashPassword.hashPassword(dtouser.PasswordUserU);
            dtouser.PasswordUserU = passh.hash;
            dtouser.HashhU = passh.salt;
            let registeruser = await DataUser.registerUser(dtouser);
            if (registeruser===-1) {
                throw new Error("User already exists");
            }
             console.log("The user registered successfully");
        }
    }
     await registerUser();



    async function updateNameCityTypeUser() {
        let typeuser = "Cashier";
        if (typeuser != "Administrator" && typeuser != "Waiter" && typeuser != "Chef"
            && typeuser != "Cashier") {
            throw new Error("The user can only be of the type Administrator,Waiter,Chef and Cashier");
        }
        let updateNameCityUser = await DataUser.updateNameCityTypeUser("111111111111",
            "NameUpdated", "CityUpdated", typeuser);
        if (updateNameCityUser === -1) {
            throw new Error("User no exists");
        }
        console.log("The user updated successfully");
    }
    await updateNameCityTypeUser();



    async function updateUserNamePassword() {

        const passh = HashPassword.hashPassword("PasswordUpdated");
        let hashpassword = passh.hash;
        let salt = passh.salt;

            let updatePasswordUser = await DataUser.updatePasswordUser("111111111111",hashpassword, salt);
            if (updatePasswordUser===-1) {
                throw new Error("The user does not exists");
            }
            console.log("The password was updated successfully");

        }
      await updateUserNamePassword();


        let deleteUser = await DataUser.deleteUser("111111111117");
         if (deleteUser===-1) {
             throw new Error("The user does not exists");
         }
       console.log("The user was deleted successfully");


    let autenticationuser=async()=>
    {
        let loginuser = await LoginUser.loginUser('111111111111','PasswordUpdated')
        console.log(loginuser);


        let getuserlogin = await LoginUser.getUserLogin()
        console.log(getuserlogin);

        let logout = await LoginUser.logoutUser()
        console.log(logout);

    }
    autenticationuser().then()


        let getUser = await DataUser.getUser('111111111111')
        console.log(getUser);

        let getUsers = await DataUser.getUsers()
        console.log(getUsers);

          let getSearchUsers = await DataUser.getSearchUsers(
           "","","","Cash","CityU"
        )
        console.log(getSearchUsers);

}
usermaintenance().then()

#endregion
#region CUSTOMER

let customermaintenace=async()=>
{
      async function registerCustomer() {
        for (let i = 1; i < 20; i++) {

            let dtocust = new DTOCustomer();
            dtocust.NamesC=`Customer${i}`;
            dtocust.LastNameC=`LastNameCustomer${i}`;
            dtocust.PhoneNumberC=`1111111111${i}` ;
           
            let registerCustomer = await DataCustomer.registerCustomer(dtocust);
             console.log("The customer registered successfully");
        }
    }
     await registerCustomer();


    async function updateCustomer() {
            let dtocust = new DTOCustomer();
            dtocust.IDCustomer=1;
            dtocust.NamesC=`NameUpdated`;
            dtocust.LastNameC=`LastNameCustomer`;
            dtocust.PhoneNumberC=`11111111111` ;
        let updateCustomer = await DataCustomer.updateCustomer(dtocust);
        if (updateCustomer === -1) {
            throw new Error("Customer no exists");
        }
        console.log("The customer updated successfully");
    }
    await updateCustomer();

    
        let getCustomer = await DataCustomer.getCustomer(1)
        console.log(getCustomer);

        let getCustomers = await DataCustomer.getCustomers()
        console.log(getCustomers);

          let getSearchCustomers = await DataCustomer.getSearchCustomers(
            0,5,"","","","NamesC"
          )
        console.log(getSearchCustomers);



}
customermaintenace().then()

#endregion
#region CATEGORY

let categorymaintenance=async()=>
{
      async function registerCategory() {
        for (let i = 1; i < 10; i++) {

            let dtocat = new DTOCategory();
            dtocat.NameC=`Category${i}`;
            dtocat.DescriptionC=`Description${i}`;
           
            let registerCategory = await DataCategory.registerCategory(dtocat);
             console.log("The category registered successfully");
        }
    }
     await registerCategory();


    async function updateCategory() {
            let dtocat = new DTOCategory();
            dtocat.IDCategory=9;
            dtocat.NameC=`CategoryUpdate`;
            dtocat.DescriptionC=`DescriptionUpdate`;
        let updateCategory = await DataCategory.updateCategory(dtocat);
        if (updateCategory === -1) {
            throw new Error("Category no exists");
        }
        console.log("The category updated successfully");
    }
    await updateCategory();

     let getCategory = await DataCategory.getCategory(1)
        console.log(getCategory);

     let getSearchCategories = await DataCategory.getSearchCategories(
        0,5,"","idcategory"
     )
     console.log(getSearchCategories);



}
categorymaintenance().then()
#endregion
#region  DISHES

let dishesmaintenace=async()=>
{
    #region REGISTER

    let registerIngredient1=DishIngredients.registerIngredient("Ingredient1",20,2);
    if (registerIngredient1===-1) {
        throw new Error("The name ingredient already exist in the list")
    }
    console.log(registerIngredient1);


    let registerIngredient2=DishIngredients.registerIngredient("Ingredient2",20,1);
    if (registerIngredient2===-1) {
        throw new Error("The name ingredient already exist in the list")
    }
    console.log(registerIngredient2);

    // let removeIngredient=DishIngredients.removeIngredient("Ingredient2");
    // if (removeIngredient===-1) {
    //     throw new Error("The name ingredient not exist in the list")
    // }
    // console.log(removeIngredient);


    let registerIngredient3=DishIngredients.registerIngredient("Ingredient3",21,1);
    if (registerIngredient3===-1) {
        throw new Error("The name ingredient already exist in the list")
    }
    console.log(registerIngredient3);


    let getArrayIngredients=DishIngredients.getArrayIngredients();
    console.log(getArrayIngredients);

    // let clearArrayIngredients=DishIngredients.clearArrayIngredients();
    // console.log(clearArrayIngredients);

    // let getArrayIngredients2=DishIngredients.getArrayIngredients();
    // console.log(getArrayIngredients2);

    let calculateCostDish=DishIngredients.calculateCostDish();
    if (calculateCostDish===-1) {
        throw new Error("The ingredient lists is empty")
    }
    console.log(calculateCostDish);

  let dtodishes=new DTODish();
  dtodishes.NameD="NameDish5";
  dtodishes.Category.IDCategory=4;
  dtodishes.DescriptionD="Description4";
  dtodishes.ImgD="UrlImg";
  dtodishes.CostD=calculateCostDish;
  dtodishes.PriceD=50;//this is the price that is indicated once knowing the cost
  dtodishes.QuantityAD=0;
 
  let registerDish=await DataDish.registerDish(dtodishes,getArrayIngredients);
    if (registerDish===-1) {
        throw new Error("Category no exists")
    }
    console.log(registerDish);

    #endregion
    #region  MAINTENACE

    let dtodishes=new DTODish();
    dtodishes.IDDishh=3;
    dtodishes.NameD="NameUpdate";
    dtodishes.Category.IDCategory=3;
    dtodishes.PriceD=65;
    dtodishes.DescriptionD="DescriptionUpdate";
    dtodishes.ImgD="UrlImgUpdate";
    let updateDish=await DataDish.updateDish(dtodishes);
    if (updateDish===-1) {
        throw new Error("Dish no exist")
    }
    if (updateDish===-2) {
        throw new Error("Category no exist")
    }
    console.log(updateDish);


 let deleteDish=await DataDish.deleteDish(3);
    if (deleteDish===-1) {
        throw new Error("Dish no exist")
    }
   
    console.log(deleteDish);
        let addQuantity=await DataDish.addQuantity(5,12);
        if (addQuantity===-1) {
            throw new Error("Dish no exist")
        }
   
    console.log(addQuantity);

         let removeQuantity=await DataDish.removeQuantity(6,1);
        if (removeQuantity===-1) {
            throw new Error("Dish no exist")
        }
        console.log(removeQuantity);

        
    #endregion

    #region INGREDIENTS

     let registerIngredient=await DataDish.registerIngredient(4,"Ingredient3",20,2);
    if (registerIngredient===-1) {
        throw new Error("Dish no exist")
    }
   
    console.log(registerIngredient);


     let updateIngredientName=await DataDish.updateIngredientName(13,"IngredientUpdate",5);
        if (updateIngredientName===-1) {
            throw new Error("Ingredient no exist")
        }
   
    console.log(updateIngredientName);


      let removeIngredient=await DataDish.removeIngredient(12,5);
        if (removeIngredient===-1) {
            throw new Error("Ingredient no exist")
        }
   
    console.log(removeIngredient);


    let getIngredient=await DataDish.getIngredient(20);
    console.log(getIngredient);

        let getIngredientsDish=await DataDish.getIngredientsDish(8);
    console.log(getIngredientsDish);

    #endregion
    #region GETS

    let getDish=await DataDish.getDish(9);
    console.log(getDish);

        let getDishByCategory=await DataDish.getDishByCategory(4);
    console.log(getDishByCategory);

    let getSearchDish=await DataDish.getSearchDish(0,9999,
       "",0,9999,0,9999,0,9999,0,9999,"",0,9999,0,9999,
       0,9999,"2" );
    console.log(getSearchDish);


    #endregion
}
dishesmaintenace().then()

#endregion
#region TABLES
let tablemaintenance=async()=>
{
    
    async function registerTable() {
        for (let index = 0; index < 15; index++) {

            let registerTable = await DataTable.registerTable(4);
            console.log(registerTable);
        }
    }
    await registerTable();

     let disableTable = await DataTable.disableTable(20);
    console.log(disableTable);

    let enableTable = await DataTable.enableTable(20);
    console.log(enableTable);

    let getTable=await DataTable.getTable(1);
    console.log(getTable);

    let getSearchTables=await DataTable.getSearchTables();
    console.log(getSearchTables);


}
tablemaintenance().then()
#endregion
#region ORDER
let ordermaintenance=async()=>
{
    #region ONLINE ORDER

    let registerDish1=Order.registerDish(6,40,2);
    if (registerDish1===-1) {
        throw new Error("The number dish already exist in the list")
    }
    console.log(registerDish1);

    // let registerDish2=Order.registerDish(7,60,1);
    // if (registerDish2===-1) {
    //     throw new Error("The number dish already exist in the list")
    // }
    // console.log(registerDish2);

    // let registerDish3=Order.registerDish(8,81,3);
    // if (registerDish3===-1) {
    //     throw new Error("The number dish already exist in the list")
    // }
    // console.log(registerDish3);

  
    let getDishArray=Order.getDishArray();
    console.log(getDishArray);


    // let cleanIDDishArray=Order.cleanIDDishArray(8);
    // console.log(cleanIDDishArray);

    // let removeIDDish=Order.removeIDDish(8);
    // console.log(removeIDDish);

    // let getDishArray2=Order.getDishArray();
    // console.log(getDishArray2);

    let getDishesMultipleID=await DataDish.getDishesMultipleID(getDishArray);
    console.log(getDishesMultipleID);

    let dtocustomer=new DTOCustomer();
    dtocustomer.NamesC=`NameCustomer`;
    dtocustomer.LastNameC=`LastNameCustomer`;
    dtocustomer.PhoneNumberC=`111111111111`;

    let dtoorder=new DTOOrder();

  
let newdate=new Date(2022,08,27);
newdate.setUTCHours(15,00);
 dtoorder.DateO=newdate;
   dtoorder.SpecialRequirement="SpecialRequirement"; 
   dtoorder.NumberPeople=2;  
   dtoorder.Customer=dtocustomer;   

  let registerOnlineOrder=await DataOrder.registerOnlineOrder(dtoorder,getDishArray);
  console.log(registerOnlineOrder)

    #endregion

    #region RESTAURANT ORDER
           
        let dtocustomer=new DTOCustomer();
        dtocustomer.IDCustomer=8;
        dtocustomer.NamesC="NameCustomerorder";
        dtocustomer.LastNameC="LastNameCustomer";

    let registerDish1=Order.registerDish(6,40,2);
    if (registerDish1===-1) {
        throw new Error("The number dish already exist in the list")
    }
    console.log(registerDish1);



  
    let getDishArray=Order.getDishArray();
    console.log(getDishArray);



    let getDishesMultipleID=await DataDish.getDishesMultipleID(getDishArray);
    console.log(getDishesMultipleID);



    let dtoorder=new DTOOrder();

   let newdate=new Date(2022,08,27);
   newdate.setUTCHours(15,00);
   dtoorder.DateO=newdate;
   dtoorder.SpecialRequirement="SpecialRequirement"; 
   dtoorder.NumberPeople=2;  
   dtoorder.Customer=dtocustomer;   

  let registerOrderRestaurant=await DataOrder.registerOrderRestaurant(dtoorder,getDishArray);
  console.log(registerOrderRestaurant)

    #endregion

    #region MAINTENANCE

        let addDetailOrder=await DataOrder.addDetailOrder(58,1,20);
        console.log(addDetailOrder);

        let removeDetailOrder=await DataOrder.removeDetailOrder(20,7);
        console.log(removeDetailOrder);
        
        let updateDetailOrderQuantity=await DataOrder.updateDetailOrderQuantity(20,6,3);
        console.log(updateDetailOrderQuantity);

          let updateSpecialRequirementsNumberPeople=await DataOrder.updateSpecialRequirementsNumberPeople(23,"SpecialRUpdate",3);
        console.log(updateSpecialRequirementsNumberPeople);

          
        let cancelOrder=await DataOrder.cancelOrder(10);
        console.log(cancelOrder);

        let confirmOrder=await DataOrder.confirmOrder(10);
        console.log(confirmOrder);

           let newdate=new Date(2022,07,28);
           newdate.setUTCHours(15,00);

         let updateDateOOrder=await DataOrder.updateDateOOrder(12,newdate);
        console.log(updateDateOOrder);

    #endregion

    #region GETS

    let getDetailOrder=await DataOrder.getDetailOrder(23,8);
    console.log(getDetailOrder);

    let getOrder=await DataOrder.getOrder(22);
    console.log(getOrder);


        let dateo1filter1=new Date(2000,09-1,27);
        dateo1filter1.setUTCHours(14,00);

        let dateo1filter2=new Date(2100,09-1,27);
        dateo1filter2.setUTCHours(16,00);
        

      let getSearchOrder=await DataOrder.getSearchOrder(0,9999,
        dateo1filter1,dateo1filter2,
        "Pending","",0,9999,0,9999,"","",0,9999,0,99999,7,8
        );
        console.log(getSearchOrder);

     let getMultipleIdOrder=await DataOrder.getMultipleIdOrder([24,26]);
    console.log(getMultipleIdOrder);



    #endregion


}
ordermaintenance().then()
#endregion
#region TABLE CUSTOMER

let tablecustomer=async()=>
{

        let registerTableCustomer=await DataTableCustomer.registerTableCustomer(4,33);
        console.log(registerTableCustomer);

        let updateIDTableTableCustomer=await DataTableCustomer.updateIDTableTableCustomer(3,32);
        console.log(updateIDTableTableCustomer);

        let deleteTableCustomer=await DataTableCustomer.deleteTableCustomer(1,31);
        console.log(deleteTableCustomer);

        GETS

          let getTableCustomer=await DataTableCustomer.getTableCustomer(1,30);
        console.log(getTableCustomer);

        let getMultipleIDTableTableCustomer=await DataTableCustomer.getMultipleIDTableTableCustomer([1,2]);
        console.log(getMultipleIDTableTableCustomer);

        let getMultipleIDCustomerTableCustomer=await DataTableCustomer.getMultipleIDCustomerTableCustomer([30,35,36]);
        console.log(getMultipleIDCustomerTableCustomer);


        let getSearchTableCustomer=await DataTableCustomer.getSearchTableCustomer(
            0,9999,0,9999,0,9999,"","",0,9999
        );
        console.log(getSearchTableCustomer);

}

tablecustomer().then()

#endregion
#region BILL

let billmaintenance=async()=>
{
    let datenow=new Date();
    let billdate=  new Date(datenow.getFullYear(),datenow.getMonth(),datenow.getDate());
     let registerBill=await DataBill.registerBill(
        billdate,24,33,22
        );
    console.log(registerBill);

     let datenow=new Date();
    let billdate=  new Date(datenow.getFullYear(),datenow.getMonth(),datenow.getDate());
          let updateDateBill=await DataBill.updateDateBill(
        billdate,2
        );
    console.log(updateDateBill);

     let collectBill=await DataBill.collectBill(4);
    console.log(collectBill);

    let cancelBill=await DataBill.cancelBill(2);
    console.log(cancelBill);

    GETS 
    
    let getBill=await DataBill.getBill(4);
    console.log(getBill);

    let getBillMultipleID=await DataBill.getBillMultipleID([2,3]);
    console.log(getBillMultipleID);

        let getSearchBill=await DataBill.getSearchBill(
            3,3,new Date(2022,08-1,02),new Date(2022,09-1,18)
            ,0,9999,0,9999,0,9999,"",0,9999,0,9999,""
        );
    console.log(getSearchBill);


}
billmaintenance().then()

#endregion




 

https://uy.linkedin.com/in/carlos-andr%C3%A9s-rodr%C3%ADguez-p%C3%A9rez-6b3424191