Home
Softono
a

amitxshukla

Professional software vendor delivering innovative solutions on the Softono platform. Specialized in both open-source and proprietary software development.

Total Products
5

Software by amitxshukla

ERP-Apps-CRM-Cloud-Angular_Firebase
Open Source

ERP-Apps-CRM-Cloud-Angular_Firebase

```diff - If you like this project, please consider giving it a star (*) and follow me at GitHub & YouTube. ``` [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/youtube.svg" width=40 height=50>](https://youtube.com/AmitShukla_AI) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/github.svg" width=40 height=50>](https://github.com/AmitXShukla) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/medium.svg" width=40 height=50>](https://medium.com/@Amit_Shukla) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/twitter_1.svg" width=40 height=50>](https://twitter.com/ashuklax) # ERP-Apps # Objective Build ERP apps for Small, Medium and Large Organizations<br/> Re-Write / Build new CRM GUI App for existing ERP<br/> Convert Old Software to new App/UI (Desktop & Mobile) without changing database<br/> Migrate existing ERP to new platform<br/> Make an App for existing Oracle, PeopleSoft, SAP, or Siebel CRM or old custom software based ERP<br/> <b>Community Version</b> - All apps are Free download with complete source code for iOS, Android and web.<br> <a href="https://www.youtube.com/playlist?list=PLp0TENYyY8lHNMTAlrfVQKzAvQo3yzHYk">Click here for Video Tutorials !</a> <br/> ``` ts Installation Instructions Step 1: Install your favorite Code editor Anroid Studio, IntelliJ community edition, Visual Studio Code Step 2: download node js make sure, your windows, linux or mac environment path is setup to the directory where your node.exe file is for example Path = c:\amit.la\Program\node now run following commands in terminal window $ node -v $ npm -v make sure both the these commands return a valid node and npm version. now install angular cli $ npm install -g @angular/cli // after installation $ ng version make sure ng version returns a valid Angular cli version. Step 3: download this GitHub repository - Fork/Download Zip extract all files to your c drive and browse to the directory where you can see package.json $ npm install --save make sure installation finished without any error $ ng serve --open at this point, your app will serve on localhost:4200 but it show some errors because your firebase in not setup yet Step 4: Setup Firebase project go to -> console.firebase.com set up a new project inside your project, click on authentication and enable email/password, Google and Facebook authentication methods now setup Firebase rules please copy paste these rules as-is and make sure, there are no errors anywhere. ``` rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } match /USER_ROLES/{document} { allow read: if isSignedIn(); } match /USER_SETTINGS/{document} { allow read: if (isSignedIn() && isDocOwner()) || isAdmin(); allow create: if isSignedIn() && onlyContentChanged(); allow update: if (isSignedIn() && isDocOwner() && onlyContentChanged()) || isAdmin(); allow delete: if isAdmin(); } match /USER_ADDRESSBOOK/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } match /USER_CAMPAIGN/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } match /USER_LEADS/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } match /USER_OPPURTUNITY/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } match /USER_APPOINTMENTS/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } match /USER_CALLS/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } match /USER_TICKETS/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } match /USER_WORKORDERS/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } match /USER_ORDERS/{document=**} { allow read: if (isSignedIn() && isEmployee()) || isAdmin(); allow create: if isSignedIn(); allow update: if (isSignedIn() && isDocOwner()) || isAdmin(); allow delete: if isAdmin(); } // helper functions function isSignedIn() { return request.auth.uid != null; } function onlyContentChanged() { return request.resource.data.role == "" || request.resource.data.role == resource.data.role; // make sure user is not signing in with any role or changin his role during update } function isDocOwner() { return request.auth.uid == resource.data.author; } function isDocCreater() { return request.auth.uid == request.resource.data.author; } function isAdmin() { return get(/databases/$(database)/documents/USER_SETTINGS/$(request.auth.uid)).data.role == "admin"; } function isEmployee() { return get(/databases/$(database)/documents/USER_SETTINGS/$(request.auth.uid)).data.role == "employee"; } } } ```ts Step 5: Create new data collection as shown in this screen and make sure all documents/fields look exactly the same. ``` <a href="https://www.youtube.com/playlist?list=PLp0TENYyY8lHNMTAlrfVQKzAvQo3yzHYk">YouTube video Part -1 @ 13:08</a> <img src="https://user-images.githubusercontent.com/20031132/79258144-8f462600-7e3f-11ea-8d32-ee39026c015f.png"> <img src="https://user-images.githubusercontent.com/20031132/79186856-a0efe500-7dcf-11ea-998c-890b58fd28e9.png"> ```ts USER_ROLES is a collection admin is a document inside it admin, addressbook etc each has a “map” inside Which has four fields each visible Boolean true read Boolean true write Boolean true delete Boolean true Step 6: find Firebase Project settings copy and replace Firebase settings in your app->environments/environment.ts and environment.prod.ts Step 7: Browse App to check if your app is up and running now if not, please open browser console and look for errors if firebase is not setup properly or settings are not copies correctly, you will see error like invalid API Key. For any other error please open a new issue and include a screen shot of your terminal and browser console window. ``` ## Pro Version Enquiries [email protected] - ERP Other Apps -> CRM Cloud<br/> Marketting<br/> Helpdesk<br/> BPO/Call Register<br/> Customer Order Fullfillment<br/><br/> Supply Chain<br/> Buy To Pay<br/> Customer Order Fullfillment<br/> Sales<br/> Live Inventory<br/><br/> Finance<br/> Book Keeping<br/> Accounts Payable<br/> Accounts Receivable<br/> Expense Management<br/> Assets management<br/> HCM Employee Management App<br/> Supply Chain App<br/> Inventory Management App<br/> Book Keeping App<br/> Buy to Pay B2P App<br/> Accounts Payables App<br/> Accounts Receivables App<br/> Vendor Management App<br/> Help Desk App<br/> Call Center App<br/> Order Fullfillment App<br/> Product Catalogue<br/> Order Fullfillment App<br/> Expense Management<br/> Assets management<br/> Warehouse Management App<br/> Requisition -> Generate Req and auto PO<br/> PO -> Request Inventory<br/> Receipt -> Receive Inventory<br/> Payables -> Setup Vendor<br/> -> Voucher for Vendor<br/> -> Pay Vendor<br/> Receivables-> Setup Customer<br/> -> Invoice for Customer<br/> -> Receive<br/> Sales Register<br/> # Reports Inventory Cycle Count<br/> Inventory Snapshot<br/> report - On Hand Inventory<br/> Payables -> Setup Vendor<br/> -> Voucher for Vendor<br/> -> Pay Vendor<br/>

CRM ERP
70 Github Stars
Flutter-MYSQL-CRM-app
Open Source

Flutter-MYSQL-CRM-app

```diff - If you like this project, please consider giving it a star (*) and follow me at GitHub & YouTube. ``` [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/youtube.svg" width=40 height=50>](https://youtube.com/AmitShukla_AI) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/github.svg" width=40 height=50>](https://github.com/AmitXShukla) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/medium.svg" width=40 height=50>](https://medium.com/@Amit_Shukla) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/twitter_1.svg" width=40 height=50>](https://twitter.com/ashuklax) # Flutter-MYSQL-CRM-app Flutter MYSQL CRM app - Free download with complete source code for iOS, Android, web # Do NOT Clone yet, this repository is work in progress and due 1.9 upgrade. # CRM Video Tutorials # Objective Build CRM for Small, Medium and Large Organizations<br/> Re-Write / Build new CRM GUI for existing ERP<br/> Convert Old Software to new App/UI (Desktop & Mobile) without changing database<br/> Migrate existing ERP to new platform<br/> Make an App for existing Oracle, PeopleSoft, SAP, or Siebel CRM or old custom software based ERP<br/> <br/> ** This app is NOT 100% complete yet because FLUTTER_WEB is not officially released.<br/> I am seeing performance issues with current FLUTTER_WEB version.<br/> So I'm building CRM app (complete version) in Angular, MYSQL (Option #2 mentioned below) for now.<br/> But I will update this CRM APP (this repository for Flutter/MYSQL) when FLUTTER WEB is released officially. ** ## Technologies ## Option 1: <b>FrontEnd:</b> Flutter/DART<br/> <b>Backend:</b> NodeJS/REST API or DART<br/> <b>Mobile:</b> Flutter (iOS, Android)<br/> <b>Database:</b> ANY (Firebase, MongoDB, <b>MYSQL</b>, MS-SQL Server, MariaDB or Oracle)<br/> ## Option 2: <b>FrontEnd:</b> Angular, Project Clarity<br/> <b>Backend:</b> NodeJS, Express or PHP or JAVA or C# (DotNet) or GraphQL<br/> <b>Mobile:</b> Cordova (iOS, Android)<br/> <b>Database:</b> ANY (Firebase, MongoDB, <b>MYSQL</b>, MS-SQL Server, MariaDB or Oracle)<br/> # Pro - ERP HCM<br/> CRM<br/> SCM<br/> CRM, Supply Chain,<br/> Live Inventory<br/> Book Keeping<br/> Expense Management<br/> Assets management<br/> <br/> <br/> Manage CRM Users -> Admin Employee Manager AddressBook -> Global Addressbook Local Addressbook Marketing -> Campaigns Leads Oppurtunities Expenses Call Register -> Calls eMails enquiry visits Expenses Helpdesk -> Service tickets workorders Expenses Customer -> Invoice -> Sales Register Payables -> Setup Vendor -> Voucher for Vendor -> Pay Vendor -------------------- Supply Chain & Inventory Management App (Redux or RxJs and/or React version) >> Setup<br/> Org/Company<br/> Vendor / Mfg<br/> Customer<br/> <br/> >> Register<br/> Requisition -> Generate Req and auto PO<br/> PO -> Request Inventory<br/> Receipt -> Receive Inventory<br/> Payables -> Setup Vendor<br/> -> Voucher for Vendor<br/> -> Pay Vendor<br/> Receivables-> Setup Customer<br/> -> Invoice for Customer<br/> -> Receive<br/> Sales Register<br/> # Reports Inventory Cycle Count<br/> Inventory Snapshot<br/> report - On Hand Inventory<br/> Payables -> Setup Vendor<br/> -> Voucher for Vendor<br/> -> Pay Vendor<br/>

Mobile Development CRM
41 Github Stars
Employee-Payroll-Salary-App-Angular-11-MEAN-Stack
Open Source

Employee-Payroll-Salary-App-Angular-11-MEAN-Stack

```diff - If you like this project, please consider giving it a star (*) and follow me at GitHub & YouTube. ``` [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/youtube.svg" width=40 height=50>](https://youtube.com/AmitShukla_AI) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/github.svg" width=40 height=50>](https://github.com/AmitXShukla) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/medium.svg" width=40 height=50>](https://medium.com/@Amit_Shukla) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/twitter_1.svg" width=40 height=50>](https://twitter.com/ashuklax) <h2><u>Employee Payroll/Salary Management App</u></h2> <h4><font color="blue">This repository is updated to Angular 11.0 Now.</font></h4> Please install latest Angular 11 cli before starting this project, in case of any issue, please open a GitHub Issue and include detail error screenshots. <a href="https://youtu.be/sWOXETusJNw" target="_blank">YouTube Video Tutorial !! </a> <br/> <b>Objective: </b> This document serves as an Installation Guide for Elish HCM Cloud free commmunity version Desktop/Mobile App.<br><br> <b>Tools: </b> MEAN Stack (latest) Angular 9.0, NodeJS 10.8, Express, GraphQL and MongoDB 4.0 or MYSQL<br/> Using this design pattern, any old client/server software (like VB/SQL or JAVA/Oracle) can be converted to new design to replace or run in parallel with original software.<br/> You can easliy deploy this as an exe desktop app, host it over premises or over cloud or create an Android & iOS mobile app easily. This design pattern is built for Big Data technologies and supports millions of transactions.<br/> Also, this design pattern can be applied to any front end like React, VueJS, HTML/JS/Bootstrap/Project clarityto get any front-end look and feel.<br/> And Same concepts can applied to connect to almost any database of owners choice at the backend like MYSQL, MS SQL Server, Oracle or CouchDB, MongoDB, Google Firebase etc. <h2><u>What's included :</u></h2> In this repository, Only Employee Management, Payroll/Salary, Voucher and Expense modules is included. <h2><u>Elish HCM Cloud v1.1.8</u></h2> Elish HCM Cloud provide a completely free desktop and mobile app for managing Employee, Payables, Payroll, Attendance (GPS & Picture), Visitor (GPS & Picture) and other management modules.<br><br> <u><i>future update/version/releases after v1.1.8 baseline release, will include new features and bug fixes for free under community license. For enhancement/feature requests, please open a new issue at this Github Repository.</i></u><br><br> <h2><u>App Choices:</u></h2> #A. Elish HCM Cloud also provide a free web and mobile Enterprise app, hosted on Google Cloud with Google Firebase/Firestore database at:<br><br> https://alivetracking.com<br> Google Playstore - https://alivetracking.com<br><br> #B. For Community/Developer edition, developers can download a copy of "out of the box installable software package" or complete source code for free.<br><br> Below documentation serves as installation instruciton for point #B mentioned above.<br> 1. Installation Instruction for "out of the box Installable Desktop/Mobile App"<br> 2. Community/Developers Open Source Code guide<br> <h2><u>Installation Instruction for "out of the box Installable Desktop/Mobile App"</u><h2> ------------------------------------------------------------------------------------ By dafault, Elish HCM Cloud Community Edition is bundled with MongoDB.<br> However, Other database supported on v1.1.8 release are<br> MYSQL, MS SQL Server, PostGreSQL, CouchDB, Google Firebase/FireStore, MongoDB<br><br> <u><i>If you wish to migrate/upgrade your old desktop or client/server software to enterprise desktop/mobile app, please write to [email protected] for Enterprise version upgrade.</i></u><br><br> <h2>README.STEP-1-DB-INSTALLATION</h2> <h2>README.STEP-2-MIDDLEWARE</h2> <h2>README.STEP-3-FRONT-END</h2> <h2>README.STEP-4-Deploy/Host code over cloud</h2> Step 4 - will be udpated later.

HR & Payroll
134 Github Stars
GeneralLedger.jl
Open Source

GeneralLedger.jl

# GeneralLedger.jl # ML for GL - Machine Learning for General Ledger [Documentation](https://amitxshukla.github.io/GeneralLedger.jl/) ## Objective Machine learning for General Ledger provide a complete Data Science framework for Finance Data Analytics. Scope of this package includes Finance General Ledger, sub-ledgers, accounting entries analytics and complex Data Science operations using The <a href="https://julialang.org/"><img src="https://julialang.org/assets/infra/logo.svg" alt="The Julia Lang" width="40"/></a> language. ``` In future, This package will support all data science computations for a complete Procure2Pay, Order2Cash, including Procurement life cycle business operations. i.e. Orders -> Requisitions -> Procurement -> Inventory cycle counting -> Match Exceptions -> Receivables -> Accounts Payable/Billing -> GL Accounting -> General Ledger book keeping. ``` Finance General Ledger sits at core of ERP systems and supporting sub-ledger/accounting entries/details are necessary to accurately predict/analyze complete General Ledger functionalities. note -> all sub-ledger/domain specific account will be covered in their own domains like [Procure2Pay.jl](https://github.com/AmitXShukla/Procure2Pay.jl/) [TaxAnalytics.jl](https://github.com/AmitXShukla/TaxAnalytics.jl/) Package [Documentation](https://amitxshukla.github.io/GeneralLedger.jl/) include tutorials, example Pluto notebooks, how Julia with Pluto as an Enterprise Reporting tool provide a cohesive data platform for **real-time, reactive/observable, ad-hoc and analytical, predictive analytics** reporting for ERP systems. A typical ERP system consists of many modules based on business domain, functions and operations. GL is the core of Finance and Supply chain domains like Buy to Pay, Order to Cash deal with different business operations in an Organization. Many organizations use ERPs in different ways and may choose to implement all or some of the modules. Read, Write and Understand and three different aspects of ERP data, while these ERP systems master write part", Julia languages is the language for data science operations and large datasets numerical computing. Julia language provide a range of packages suitable for data loading, data wrangling, transformation, predictive analytics to perform all ERP business processes reporting & analytics. ``` This project is open for funding/sponsorship. email: [email protected] ``` next planned release: v0.20 Aug 26, 2021. planned feature requests: v0.20 Bug fixes, enhance ELT, ETL Datawarehouse support v0.30 real time Visualizations v0.30 real time null hypothesis v0.40 Light Graphs/Network science analysis v0.60 Blockchain distributed ledger v0.70 bug fixes v1.00 final stable release ## Development plan: - Introduction | Complete - About General Ledger | Complete - GL Processes | WIP ETA 01/22/23 - ERD | Complete - ETL vs ELT, Data warehouse vs Data Lake | WIP ETA 02/28/23 - Self service data analytics | WIP ETA 03/31/23 - Fix Plots, images, Graphs - Visualizations, Buttons, sliders, filters, n-D plots, plots vs graphs | WIP ETA 03/31/23 - Fix Plots, images, Graphs - p-value, null hypothesis and real time analytics (onlinestats) | WIP ETA 07/31/23 - Time Series, Impact analysis | WIP ETA 07/31/23 - Machine learning for General Ledger | WIP ETA 07/31/23 - NLP for GL | WIP ETA 07/31/23 - Graph theory, network science | WIP ETA 07/31/23 ![ERP Modules](https://github.com/AmitXShukla/AmitXShukla.github.io/raw/master/blogs/PlutoCon/ERP_modules.png) ![GL Processes](https://github.com/AmitXShukla/AmitXShukla.github.io/raw/master/blogs/PlutoCon/gl.png) ![GL ERD](https://github.com/AmitXShukla/AmitXShukla.github.io/raw/master/blogs/PlutoCon/gl_erd.png)

ML Frameworks ERP
14 Github Stars
Online-Shop-eCommerce-App-Angular-6-Firebase
Open Source

Online-Shop-eCommerce-App-Angular-6-Firebase

```diff - If you like this project, please consider giving it a star (*) and follow me at GitHub & YouTube. ``` [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/youtube.svg" width=40 height=50>](https://youtube.com/AmitShukla_AI) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/github.svg" width=40 height=50>](https://github.com/AmitXShukla) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/medium.svg" width=40 height=50>](https://medium.com/@Amit_Shukla) [<img src="https://github.com/AmitXShukla/AmitXShukla.github.io/blob/master/assets/icons/twitter_1.svg" width=40 height=50>](https://twitter.com/ashuklax) <h2>Download Online Store eCommerce App in Angular 11 Firebase with complete source code</h2> <br> <b><i>This repository is updated to Angular v11.0.0 now.</i></b> Please don't forget to update tsconfig.json as well. <br> <a href="https://www.youtube.com/playlist?list=PLp0TENYyY8lEjtN1YiJTCTFP7OpQ4Fmuo" target="_blank">Click here for Video Tutorial !</a> <br> In this video, I will show you one complete Online Store eCommerce App using all latest versions like Angular 6, Angularfire2 and Google Firebase/Firestore database, You will be able to download entire source code, deploy it on your local machine or cloud and I will leave it up to you if you want to enhance this and make more changes.<br/> THis tutorial is not for beginners and is not for teaching purpose, but you don't need to be an expert either to understand these technologies.<br/> I recommend to please take this video as a design pattern discussion where I am showing how we can use different technologies to solve real work problems and deliver a great quality app.<br/> <b>Objective: </b> This document serves as an Installation Guide for Elish eStore Cloud free commmunity version Desktop/Mobile App.<br><br> <b>Tools: </b> Angular 6, Google Firebase/Firestore<br/> <h2><u>What's included :</u></h2> In this repository, Only Online Shop portal is included. <h2><u>Elish CRM Cloud v1.1.8</u></h2> Elish CRM Cloud provide a completely free desktop and mobile app for managing Customer, Vendors, CRM and other management modules.<br><br> <u><i>future update/version/releases after v1.1.8 baseline release, will include new features and bug fixes for free under community license. For enhancement/feature requests, please open a new issue at this Github Repository.</i></u><br><br> <h2><u>App Choices:</u></h2> #A. Elish HCM Cloud also provide a free web and mobile Enterprise app, hosted on Google Cloud with Google Firebase/Firestore database at:<br><br> https://alivetracking.com<br> Google Playstore - https://alivetracking.com<br><br> #B. For Community/Developer edition, developers can download a copy of "out of the box installable software package" or complete source code for free.<br><br> Below documentation serves as installation instruciton for point #B mentioned above.<br> 1. Installation Instruction for "out of the box Installable Desktop/Mobile App"<br> 2. Community/Developers Open Source Code guide<br> <h2><u>Installation Instruction for "out of the box Installable Desktop/Mobile App"</u><h2> ------------------------------------------------------------------------------------ <u><i>If you wish to migrate/upgrade your old desktop or client/server software to enterprise desktop/mobile app, please write to [email protected] for Enterprise version upgrade.</i></u><br><br> <b>Step #1:</b> Install NodeJS, Angular CLI<br> Please follow Video Tutorials along installation instruction and proceed to next step when database installation is complete and verified.<br><br> <b>Step #2:</b> Signup with Google Firebase<br> Please follow Video Tutorials along installation instruction and proceed to next step when database installation is complete and verified.<br><br> 1. Setup Firebase Sign-in methods (enable Google, Facebook and email signin)<br> 2. Make sure, Firebase Sign-in method include your domain for autherntication.<br> 3. Open Firebase > Database > rules <br> copy paste following code in rules tab, save and publish.<br><br> ```ts service cloud.firestore { match /databases/{database}/documents { match /onlinestore/{document} { allow read: if false; allow write: if false; } match /onlinestore/elish/admins/{documents} { allow read: if true; allow write: if false; } match /onlinestore/elish/carts/{documents} { allow read: if request.auth.uid!= null && request.auth.uid == get(/databases/$(database)/documents/onlinestore/elish/carts/$(document)).data.authid; allow write: if request.auth.uid!= null; } match /onlinestore/elish/product/{documents} { allow read: if true; allow write: if request.auth.uid!= null; } // rules for estore collections match /estore/{document} { allow read: if request.auth.uid == get(/databases/$(database)/documents/estore/$(request.auth.uid)).data.authid; allow write: if false; } match /estore/{document}/product/{prods} { allow read: if true; allow write: if request.auth.uid == get(/databases/$(database)/documents/estore/$(request.auth.uid)).data.authid; } match /estore/{document}/cart/{shoppingcart} { allow read: if isSignedIn() && isDocOwner(); allow write: if isSignedIn(); } match /estore/{document}/interests/{shoppingcart} { allow read: if false; allow write: if isSignedIn(); } // rules for PORTALDB collections match /portaldb/{portaldb} { allow read, write: if request.auth.uid != null; } // rules for USERAUTH collections match /userauth/{userauth} { allow read, write: if request.auth.uid != null; } // rules for USERDB collections match /userdb/{user} { allow read, write: if request.auth.uid != null; } // rules for PORTAL collections match /portal/{portaldb} { allow read, write: if request.auth.uid != null; } // rules for USERS collection match /users/{users} { //allow read: if isDocOwner(); //allow create: if isSignedIn(); //allow write: if isDocOwner() && get(/databases/$(database)/documents/portal/$(request.resource.data.portal)).data.portal == request.resource.data.portal && get(/databases/$(database)/documents/portal/$(request.resource.data.portal)).data.key == request.resource.data.key; allow read, write: if request.auth.uid != null; } } // helper functions function isDocOwner(){ // assuming document has a field author which is uid // Only the authenticated user who authored the document can read or write return request.auth.uid == resource.data.author; // This above read query will fail // The query fails even if the current user actually is the author of every story document. // The reason for this behavior is that when Cloud Firestore applies your security rules, // it evaluates the query against its potential result set, // not against the actual properties of documents in your database. // If a query could potentially include documents that violate your security rules, // the query will fail. // on your client app, make sure to include following // .where("author", "==", this.afAuth.auth.currentUser.uid) } function isSignedIn() { // check if user is signed in return request.auth.uid != null; } function isAdmin() { return get(/databases/$(database)/documents/attendanceusers/ $(request.auth.uid)).data.isAdmin == true; } // examples from firestore function signedInOrPublic() { // True if the user is signed in or the requested data is 'public' // assuming document has a field name 'visibility' return request.auth.uid != null || resource.data.visibility == 'public'; } function getRole(rsc) { // Read from the "roles" map in the resource (rsc). return rsc.data.roles[request.auth.uid]; } function isOneOfRoles(rsc, array) { // Determine if the user is one of an array of roles return isSignedIn() && (getRole(rsc) in array); } function onlyContentChanged() { // Ensure that user is not updating their own roles // fields are added to the document. return request.resource.data.roles == ''; } function isModuleAdmin() { return get(/databases/$(database)/documents/payrollusers/$(request.auth.uid)).data.roles["admin"] == true; } } ```

Mobile Development E-commerce Platforms
99 Github Stars