diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..a66bb2db --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +custom: ['https://paypal.me/veniqa?locale.x=en_US'] +open_collective: veniqa +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username + diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..31028aa6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,25 @@ +# Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] +### Fixes +- UI misalignments mentioned in [#126](https://github.com/Viveckh/Veniqa/issues/126) + +## [2.0.0] +### Fixes +- Order placed is now shown in the admin order page with pagination feature. +- Changed the logic to delete the products from the cart once the order has been placed. +- Docker container dynamic reload for servers failing is fixed. +- Updated packages like Mongoose, MongoDB, Winston-MongoDB, Lodash and using unifiedTopology for db connections + +### Added +- Added couple of new event emitters `dropInOriginalBucket` and `dropInDestinationBucket`. +- Added more documentation for events in the README. + +### Changed +- Refactored the attributes addition modal for `management-server`. +- Changed the UI ports for local `docker-compose.yml` file to match with the outgoing port. + \ No newline at end of file diff --git a/README.md b/README.md index 76681817..cf827976 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,43 @@ - -
- - -# Veniqa Open-Source E-commerce Solution - -Veniqa (Originally Veniqa New York) was a New York-based fashion retail startup that served consumers in South Asian countries to shop from luxury western brands. - -Upon its demise due to logistical complications, the tech platform that powered Veniqa was open-sourced as a 100% customizable framework under the MIT License. - -It is developed and maintained by [Qarece New York](https://qarece.com), which shares some of the same co-founders. :heart: - -:star2: Appeared as a top trending topic on HackerNews - -:star2: No. 1 Trending Github Project on 02/23/2020 and Top Trending on Feb-Mar. 2020 - -___ - -## Official Website -[https://veniqa.com](https://veniqa.com) ++ + + +
+
+Open-source E-commerce Solution.
+
Built using MEVN Stack (Node.js, Express.js, Vue.js, MongoDB) with Developer Friendliness and Cloud Integrations in mind.
+
+
Previously powered the Veniqa New York Startup.
+
+
⇨ Appeared as a #1 Trending Github Project Worldwide (02/23/2020)
+
⇨ Appeared as a #1 Trending Topic on HackerNews (Feb. 2020)
+
+ Veniqa.com | + Documentation | + Quickstart | + Sponsor +
--- -## Documentation -[https://documentation.veniqa.com](https://documentation.veniqa.com/) +![Multi-Device Mockup](https://www.veniqa.com/img/device-mockups/multi-device-mockup.png) --- +## Demos :computer: -## Demos :eyes: - -shop.veniqa.com +[Shopping Platform](https://shop.veniqa.com) [![Netlify Status](https://api.netlify.com/api/v1/badges/c95aadbb-cf5b-4e35-a86d-69646f345690/deploy-status)](https://app.netlify.com/sites/prod-veniqa-client/deploys) -admin.veniqa.com +[Admin Platform](https://admin.veniqa.com) [![Netlify Status](https://api.netlify.com/api/v1/badges/bb8d700a-4136-4b65-acc1-f29e14aed779/deploy-status)](https://app.netlify.com/sites/prod-veniqa-admin/deploys) --- -## Perfect For Boostrapped Startups & Hacky Engineers :fire: :fire: +## Perfect For Boostrapped Startups & Hacky Engineers :nerd_face: We love Woocommerce & Squarespace! But vendor lock-in and zero code access isn't for everyone. With Veniqa, you have choices. @@ -48,7 +47,7 @@ With Veniqa, you have choices. --- -## The Suite +## The Suite :package: * API Server for Shopping Applications * API Server for Management Applications * Web Client for Shoppers @@ -56,7 +55,7 @@ With Veniqa, you have choices. --- -## Few Things Under The Hood :eyes: +## Few Things Under The Hood :factory: ### Built using the MEVN Stack & The Usual Suspects MongoDB, Express.js, Vue.js, Node.js, Mongoose ORM, Redis, Sendgrid, Nodemailer (for fallback), Stripe. @@ -82,7 +81,7 @@ MongoDB, Express.js, Vue.js, Node.js, Mongoose ORM, Redis, Sendgrid, Nodemailer --- -## Quickstart for Developers +## Quickstart for Developers :electric_plug: You can start up the entire suite of applications using `docker`. For more information, go to [Quick Start Documentation](https://documentation.veniqa.com/dockersetup/dockersetup.html). @@ -91,15 +90,34 @@ You can start up the entire suite of applications using `docker`. For more infor ## Contribution :pray: -We are currently in the process of building test suites, and writing extensive documentation geared towards developers. In the meantime, any Pull Requests/Bug Fixes/Issues found are appreciated. +We are looking for contributors to develop extensive test suites, and also address some of the enhancement roadmaps outlined in the issues page. Any Pull Requests/Bug Fixes/Issues found are appreciated. Refer to the Quickstart Guide above to get up and running in minutes. +--- ## Blame These People For :point_down: +--- + +## Sponsor this Project :clap: + +Information about sponsorship tiers and benefits are outlined [here](https://opencollective.com/veniqa). + + +### Paypal +100% goes to Veniqa Engineering. + +Paypal Email: veniqa.engineering@gmail.com + + +### OpenCollective +90% goes to Veniqa Engineering. + +[Donate on this page](https://opencollective.com/veniqa) + diff --git a/docker-compose.yml b/docker-compose.yml index 11820654..5c1b5536 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -78,7 +78,7 @@ services: - './shopping-webclient:/app' - '/app/node_modules' ports: - - 5201:4200 + - 5201:5201 management-webclient: build: @@ -88,7 +88,7 @@ services: - './management-webclient:/app' - '/app/node_modules' ports: - - 5202:4200 + - 5202:5202 volumes: dbdata: diff --git a/documentation/docs/.vuepress/config.js b/documentation/docs/.vuepress/config.js index acc0f670..22e74a97 100644 --- a/documentation/docs/.vuepress/config.js +++ b/documentation/docs/.vuepress/config.js @@ -35,6 +35,27 @@ module.exports = { sidebarDepth: 2, collapsable: false, children: [] + }, + { + title: 'Email Setup', + path: '/email-setup/email-setup.md', + sidebarDepth: 2, + collapsable: false, + children: [] + }, + { + title: 'AWS S3 Setup', + path: '/aws-setup/s3setup.md', + sidebarDepth: 2, + collapsable: false, + children: [] + }, + { + title: 'SSL Setup', + path: '/ssl-setup/ssl-setup.md', + sidebarDepth: 2, + collapsable: false, + children: [] } ] }, diff --git a/documentation/docs/README.md b/documentation/docs/README.md index 8a530392..b860e76e 100644 --- a/documentation/docs/README.md +++ b/documentation/docs/README.md @@ -2,35 +2,61 @@ home: true heroImage: /img/veniqa_logo_transparent.png heroText: Official Documentation -tagline: Open-source E-commerce Solution +tagline: Open-source E-commerce Solution. actionText: Get Started → actionLink: /servers/setup.html -features: -- title: Built using the MEVN Stack & The Usual Suspects - details: MongoDB, Express.js, Vue.js, Node.js, Mongoose ORM, Redis, Sendgrid, Nodemailer (for fallback), Stripe. -- title: Performant & Secure - cause we like it that way - details: Distributed requests utilizing all system cores, encrypted authentication and sessions, backend equipped with request rate limiting to prevent scripted attacks and bot crawling, database & file-based logging. -- title: Built for the Cloud, with developers in mind - details: CD/CI friendly codebase and configuration setup, simplified dev-prod and local-cloud switches, docker scripts, AWS S3 Integration for cheap image storage. footer: MIT Licensed | Copyright © 2019-present Qarece New York --- -# Veniqa Open-Source E-commerce Solution +
+Built using MEVN Stack (Node.js, Express.js, Vue.js, MongoDB) with Developer Friendliness and Cloud Integrations in mind.
+
+
Previously powered the Veniqa New York Startup.
+
+
⇨ Appeared as a #1 Trending Github Project Worldwide (02/23/2020)
+
⇨ Appeared as a #1 Trending Topic on HackerNews (Feb. 2020)
+
+ Veniqa.com | + Documentation | + Quickstart | + Sponsor +
-Veniqa (Originally Veniqa New York) was a New York-based fashion retail startup that served consumers in South Asian countries to shop from luxury western brands. +--- + +![Multi-Device Mockup](https://www.veniqa.com/img/device-mockups/multi-device-mockup.png) + +--- + +## Demo :computer: +### [Shopping Platform](https://shop.veniqa.com) + +[![Netlify Status](https://api.netlify.com/api/v1/badges/c95aadbb-cf5b-4e35-a86d-69646f345690/deploy-status)](https://app.netlify.com/sites/prod-veniqa-client/deploys) -Upon its demise due to logistical complications, the tech platform that powered Veniqa was open-sourced as a 100% customizable framework under the MIT License. +*Responsive across all devices* + +Feel free to sign up and checkout using dummy credit card `4242 4242 4242 4242`. -It is developed and maintained by [Qarece New York](https://qarece.com), which shares some of the same co-founders. +### [Admin Platform](https://admin.veniqa.com) -___ +[![Netlify Status](https://api.netlify.com/api/v1/badges/bb8d700a-4136-4b65-acc1-f29e14aed779/deploy-status)](https://app.netlify.com/sites/prod-veniqa-admin/deploys) -## Official Website For Details And Demos -[https://veniqa.com](https://veniqa.com) +*Currently only responsive for laptop view* + +Any edit attempts made in demo admin panel are blocked, and will fail. + +**Demo Credentials** + +**Email:** veniqademo@gmail.com + +**Password:** pass$12 --- -## Perfect For Boostrapped Startups & Hacky Engineers + +## Perfect For Boostrapped Startups & Hacky Engineers :nerd_face: We love Woocommerce & Squarespace! But vendor lock-in and zero code access isn't for everyone. With Veniqa, you have choices. @@ -40,7 +66,8 @@ With Veniqa, you have choices. --- -## The Suite + +## The Suite :package: * API Server for Shopping Applications | [Code](https://github.com/Viveckh/Veniqa/tree/master/shopping-server) * API Server for Management Applications | [Code](https://github.com/Viveckh/Veniqa/tree/master/management-server) * Web Client for Shoppers: | [Code](https://github.com/Viveckh/Veniqa/tree/master/shopping-webclient) @@ -48,26 +75,7 @@ With Veniqa, you have choices. --- -## Demo -### [Shoppers](https://shop.veniqa.com) -*Responsive across all devices* - -Feel free to sign up and checkout using dummy credit card `4242 4242 4242 4242`. - -### [Admin](https://admin.veniqa.com) -*Currently only responsive for laptop and tablet view* - -Any edit attempts made in demo admin panel are blocked, and will fail. - -**Demo Credentials** - -**Email:** veniqademo@gmail.com - -**Password:** pass$12 - ---- - -## Few Things Under The Hood +## Few Things Under The Hood :factory: ### Built using the MEVN Stack & The Usual Suspects MongoDB, Express.js, Vue.js, Node.js, Mongoose ORM, Redis, Sendgrid, Nodemailer (for fallback), Stripe. @@ -93,17 +101,22 @@ MongoDB, Express.js, Vue.js, Node.js, Mongoose ORM, Redis, Sendgrid, Nodemailer --- -## Documentation Updates +## Quickstart for Developers :electric_plug: -We're still in the process of preparing more detailed documentation and utility tools to simplify the lives of developers interested in contributing to the platform. +You can start up the entire suite of applications using `docker`. For more information, go to [Quick Start Documentation](https://documentation.veniqa.com/dockersetup/dockersetup.html). --- -## Contribution -We are currently in the process of building test suites, docker images and writing extensive documentation to speed up startup time for developers. In the meantime, any Pull Requests/Issues found are appreciated. +## Contribution :pray: + +We are looking for contributors to develop extensive test suites, and also address some of the enhancement roadmaps outlined in the issues page. Any Pull Requests/Bug Fixes/Issues found are appreciated. -## Blame These People For +Refer to the Quickstart Guide above to get up and running in minutes. + +--- + +## Blame These People For :point_down: * [(EJ) Vivek Pandey (Platform Architecture, Backend Engineering, DevOps, Data Modeling, & Websites)](https://viveckh.com) * [Sujil Maharjan (UX/UI Design, Frontend Engineering)](https://smaharj1.github.io/) @@ -111,4 +124,20 @@ We are currently in the process of building test suites, docker images and writi --- +## Sponsor this Project :clap: + +Information about sponsorship tiers and benefits are outlined [here](https://opencollective.com/veniqa). + + +### Paypal +100% goes to Veniqa Engineering. + +Paypal Email: veniqa.engineering@gmail.com + + +### OpenCollective +90% goes to Veniqa Engineering. + +[Donate on this page](https://opencollective.com/veniqa) + diff --git a/documentation/docs/aws-setup/s3setup.md b/documentation/docs/aws-setup/s3setup.md new file mode 100644 index 00000000..cb7bbe8a --- /dev/null +++ b/documentation/docs/aws-setup/s3setup.md @@ -0,0 +1,71 @@ +# AWS S3 Setup + +When you set up the S3 bucket for image storage, the following are example settings for permissions. Feel free to customize based on your needs. + +## Block Public Access Settings + +* Block public access to buckets and objects granted through new access control lists (ACLs): `ON` +* Block public access to buckets and objects granted through any access control lists (ACLs): `ON` +* Block public access to buckets and objects granted through new public bucket or access point policies: `OFF` +* Block public and cross-account access to buckets and objects through any public bucket or access point policies: `OFF` + +## Bucket Policy +An example bucket policy that allows GET requests from any domain (for thumbnail visibility when sharing links). + +``` +{ + "Version": "2012-10-17", + "Id": "Policy1544293475857", + "Statement": [ + { + "Sid": "Stmt1544293474782", + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME-FOR-VENIQA-IMAGES/*" + } + ] +} +``` + +## CORS Configuration + +The following example CORS configuration fulfills the GET requests from any HTTPS domain, but only fulfills the HEAD/PUT/POST/DELETE requests if they originate from our demo admin site - [https://admin.veniqa.com](https://admin.veniqa.com). Make updates to the following based on your own domains. + +``` + +Add Values for the selected type
+Name | +Key | +Type | +Values | +Actions | +|
---|---|---|---|---|---|
{{attrib.name}} | +{{attrib.key}} | +{{attrib.type}} | +{{extractColorValues(attrib)}} | +{{attrib.values ? attrib.values.join(" , ") : ""}} | +
+
+ |
+
+
|
+
+
|
+
+
|
+
+
|
+
+
|
+
+
|
+
+
|
+