i want to create a web app called "BookBeach". this app is about beaches and sunbeds that the users will book the sunbeds according with the prices of the beach owners. (per hour or per day). for the database is will use postgresql (already create) a database called "bookbeach" user:postgres password:F@f@k0s!!. on frontend i want angular(for the common users) ,vue (for the beach owners and to design the beach and the sunbeds and all the design of the beach :like trees, bars, or any other the beach have) and python for the admin to manage everything... i create a folder called bookbeach and inside there you can create the frontend and the backend... also in the folder you can find the the panagea_v.2.1 folder, you can use this folder to copy the design of the angular python bootstrap pages, later i will tell you step by step all the changes for the common user, the beach owners and the admin... (for the moment only copy the design).(panagea_v.2.1/html/index-18.html : startup page), login page(panagea_v.2.1/html/login.html) will be by email, registration (panagea_v.2.1/html/register.html) will be with email (send 6 digits email to confirm), also forget password page by email (send 6 digits email to confirm) , for every email we will need a table (email_templates) that we send to users, beach owners, so in the table can save the table with reference that you use to send (example: email_confirmation) and this template can change if needed ( ibelieve you can make very beautiful email template to send to users for each type. in icons folder you can find the icons of the app, you can use them. in the folder logos you find the logos of the BookBeach, you can use them. in the firstpage folder you can find the image that you can use for the startup page . in anim folder you can find the animation gif that you can use for the waiting or processing. i have a mail server: mail.bookbeach.app user:noreply@bookbeach.app pass:F@f@k0s!! for sending all the emails, also i have the support@bookbeach.app pass:F@f@k0s!! for sending for supporting the app, also evaluation@bookbeach.app pass:F@f@k0s!! for sending evaluation things. i want security and encryption for passwords (database and emails in env). in DesignBeach folder is the vue implementation for the design of the beach (for the beach owners and the admins). every beach have a precise location (lat & lon) that we will use google map to setup the location (for the beach owners and the admins when they setup the beach) and for the users to find (show km away from them) and get the route how to go there. every beach have terrain types (BeachTerrainTypes) that i will upload all type later (you can create a table beachterraintypes with id (int),beachterrainname varchar(50), photopath varchar (500) that is the image of the terrain type. in the folder of the BeachTerrainTypes you can find all the photos of the types and the names as the photo name. every sunbed that belong to a beach have a type here is the structure of sql that you need to create in postgres (BeachBedTypes) : TABLE [beachbedyypes]( [beachbedtypeid] [bigint] IDENTITY(1,1) NOT NULL, [name] [nvarchar](50) NOT NULL, [description] [ntext] NOT NULL, [photopath] [nvarchar](1000) NOT NULL, [uid] [smallint] NOT NULL, [islayout] [bit] NOT NULL, [hasbackgroundcolor] [bit] NOT NULL) this is the table structure of the Beach Places TABLE [beachplaces]( [beachplaceid] [bigint] IDENTITY(1,1) NOT NULL, [beachname] [nvarchar](50) NOT NULL, [companyid] [bigint] NOT NULL, [mask] [text] NOT NULL, [maxseats] [smallint] NOT NULL, [toprows] [tinyint] NOT NULL, [topseats] [tinyint] NOT NULL, [isdoubleseat] [bit] NOT NULL, [hasumbrella] [bit] NOT NULL, [hasshowers] [bit] NOT NULL, [haslockers] [bit] NOT NULL, [hasmarket] [bit] NOT NULL, [hasrestaurant] [bit] NOT NULL, [hasswimmingpool] [bit] NOT NULL, [hasparking] [bit] NOT NULL, [hastoilets] [bit] NOT NULL, [hasfreewifi] [bit] NOT NULL, [hasmusic] [bit] NOT NULL, [hassafetybox] [bit] NOT NULL, [hasaccesswheelchair] [bit] NOT NULL, [haslockersforbaby] [bit] NOT NULL, [hasbeachvolley] [bit] NOT NULL, [hastennis] [bit] NOT NULL, [hasspa] [bit] NOT NULL, [hasmedical] [bit] NOT NULL, [haslifeguard] [bit] NOT NULL, [petallow] [bit] NOT NULL, [enablebeach] [bit] NOT NULL, [beachinformation] [ntext] NOT NULL, [address] [nvarchar](250) NOT NULL, [latitude] [decimal](18, 8) NOT NULL, [longitude] [decimal](18, 8) NOT NULL, [beachterrainid] [int] NOT NULL, [countryid] [int] NOT NULL, [city] [nvarchar](50) NOT NULL, [disabletoday] [bigint] NOT NULL) every beach have photos this is the table TABLE [beachplacesphotos]( [beachplacesphotoid] [bigint] IDENTITY(1,1) NOT NULL, [beachplaceid] [bigint] NOT NULL, [photoprimary] [bit] NOT NULL, [photopath] [nvarchar](1000) NOT NULL) every beach have schedules and working time, this is the table : TABLE beachplaceschedules]( [beachplacescheduleid] [bigint] IDENTITY(1,1) NOT NULL, [beachplaceid] [bigint] NOT NULL, [fromdate] [smalldatetime] NOT NULL, [todate] [smalldatetime] NOT NULL, [fromtime] [time](0) NOT NULL, [totime] [time](0) NOT NULL, [validdates] [varchar](7) NOT NULL, (here is 1= monday, 2 = tue, 3=wed.. etc = 1234567) [minhours] [tinyint] NOT NULL, [canrefund] [bit] NOT NULL, [refundbeforehours] [tinyint] NOT NULL, [currencyid] [bigint] NOT NULL, [price] [decimal](10, 2) NOT NULL, [pricevip] [decimal](10, 2) NOT NULL, [extras] [ntext] NOT NULL, [extrasvip] [ntext] NOT NULL, this is the Beach Place Terrains (the design of the beach) [beachplaceterrains]( [beachplaceterrainid] [uniqueidentifier] NOT NULL, [uid] [bigint] NOT NULL, [beachplaceid] [bigint] NOT NULL, [angle] [smallint] NOT NULL, [backgroundcolor] [varchar](7) NOT NULL, [bedreference] [nvarchar](30) NOT NULL, [blockonline] [bit] NOT NULL, [classification] [tinyint] NOT NULL, [covers] [nvarchar](30) NOT NULL, [description] [ntext] NOT NULL, [descriptiontext] [ntext] NOT NULL, [descriptiontextposition] [ntext] NOT NULL, [height] [decimal](10, 2) NOT NULL, [left] [decimal](18, 8) NOT NULL, [bedprice] [decimal](10, 2) NOT NULL, [minprice] [decimal](10, 2) NOT NULL, [name] [nvarchar](50) NOT NULL, [top] [decimal](18, 8) NOT NULL, [width] [decimal](10, 2) NOT NULL, [zindex] [smallint] NOT NULL, [islayout] [bit] NOT NULL) this is the table for the Companies (maybe 1 company have many beaches), so first need to register a company, and pass the evaluation as company, otherwise the users cannot see the beach(es) that the beach owner design. TABLE [companies]( [companyid] [bigint] IDENTITY(1,1) NOT NULL, [companyname] [nvarchar](150) NOT NULL, [address] [nvarchar](250) NOT NULL, [countryid] [int] NOT NULL, [province] [nvarchar](50) NOT NULL, [city] [nvarchar](50) NOT NULL, [postalcode] [nvarchar](10) NOT NULL, [phone] [nvarchar](50) NOT NULL, [mobile] [nvarchar](50) NOT NULL, [fax] [nvarchar](50) NOT NULL, [email] [nvarchar](50) NOT NULL, [registrationumber] [nvarchar](50) NOT NULL, [vatnumber] [nvarchar](50) NOT NULL, [taxoffice] [nvarchar](50) NOT NULL, [website] [nvarchar](50) NOT NULL, [createdate] [smalldatetime] NOT NULL, [updatedate] [smalldatetime] NOT NULL, [remarks] [ntext] NOT NULL, [companylogopath] [nvarchar](1000) NULL, [companystatus] [nvarchar] NOT NULL, [sendtimereports] [time](0) NOT NULL) All IDs you can rename if you want, and create the tables in postgres. the app will have multicurrency, default currency is EUR, (you can find online an free exchange rate site, to make the exchange of the prices, if the price is in EUR and the user want to see the price in USD, then automatically can find the exchange rate and show the price in USD), the currencies can be on the top banner so the user can select with dropdown. also you can find the currencies and add in the database, as currencyid will be the id that can connect currency for that other tables. the app will be multi language, also put the langauges on the top bar (find the most common languages (including Greek) add the flags and the names. to change the langage of every page you can give me some suggestions... for the start all labels will be in english.. the common user will have on the bottom also we need reviews for each beach, if the user is already buy a sunbed from this beach, then can make review only for that beach.. panagea_v.2.1/html/tour-detail.html you use this page design for the detail of the beach. also every beach can have restaurant (hasRestaurant is connection with the beachplaces) (/panagea_v.2.1/html/restaurant-detail.html) and you can also create table in the database, also restaurant_items, also connected to the same companyid. also every beach can have market, means that maybe the user can buy something from the market..(hasMarket is connection with the beachplaces) so we need also table in the database for the market and the market_items. connect always with companyid. also in the beach you can have some adventures (some games in the beach), that user can buy.. we need also this in our database "adventures" (panagea_v.2.1/html/adventure-detail.html) the detail of the adventure. panagea_v.2.1/html/adventure.html (the main page of the adventures. so we have 4 different types that the user can use in our site.. Beaches, Restaurants, Markets, Adventures.. and all is connected together if have the same companyid (means if the user select to see a detail of the beach and the beach is connected with restaurant, can also see the small information of the restaurant and click to see more details and order if the user want (also prebook the time for the restaurant only), for the market can get it from the market place or order the market to bring the order in the sunbed (because is on the same place..) please pay attention on the design of the beach (DesignBeach\drag-web-source) that is very important for the beach owners and the admins... users table you can make yourself according to our needs.. and do not forget to connect the companies with users with another table user_companies, because maybe 1 company can have many users.. so for the beginning lets finish all the admin, all the pages that admin can see and do. and then the design for the beach owners , restaurant owners, market owners , and the adventure owners can be more easy because we can copy and make small changes... and last will be the end users design.. we also have wallet in our app, if the user need to pay or return back money or top-up (put money in our app). payment system can be by wechat, alipay, credit card (connection with piraeus bank that i will give you later the api to connect), cryptocurrency, google pay, or paypal. finally do not forget the panagea_v.2.1 folder, you can find all the pages and you can use many of the pages from there... all the fonts i want you to donwload and use it from local.. example: you download Poppins font in local folder and use it from local, save time.. better ux. also dont forget to use angular for all pages... for more better ui and ux.. and python in the backend.. Terms and conditions and Privacy pages i will give you later all the details and documentation so you can replace the page with the right context..