This is a non-profit project. The portal is an open-source project that was created in collaboration with the Shopware community to help local retailers in this trying time.
It allows local governments, cities, or similar authorities to give local merchants an easy way of keeping in touch with their customers and selling goods and services online.
After installing the project on a web server, local authorities can register within the portal.
After registration and activation by the portal owner, a sub-portal will be automatically created for each local authority. After this step, local retailers can register within their local authority's sub-portal. Next, customers can register and interact with retailers in their area.
At the time this project is created, the COVID-19 pandemic has a serious impact on the economy. Since retail stores are forced to close, they now need new solutions to generate an income.
The portal project is trying to help. It is created to serve the project downtowns.io, but since it is open source anyone is able to set up a a web server and provide the same service as downtowns to their local community.
A picture is worth a thousand words, so here are some example screen designs of the portal. The text is in german, since the portal was initially developed for the german market.
After the registration, the organisation has to be activated by the portal owner. Then these steps follow:
- An organisation (e.g. a city) registers within the portal
- Organisations are created as a sales channel
- Retail stores register within the organisation, internally they are handled as categories
- Retail stores can use an App to upload products
- Users (buyers) can browse retail stores and see what’s in stock
This is how the landing page for an organisation or local authority looks:
And here is an example of a retailer's landing page:
Prerequisites: docker, docker-compose, node/npm
⚠️ The docker setup currently only works if your user ID is 1000.
Executeid -u
on your terminal to check.
Clone the project:
git clone https://github.com/shopwareDowntown/downtown.git
Change into the project directory, then start the docker containers, add the cache directory and change into the app container:
cd downtown
docker-compose up -d
docker-compose exec cli bash
When inside the app container, do a basic install, generate a JWT secret and an App Secret, then exit the container:
composer install
bin/console system:setup
Change the default credentials as listed and confirm those at the end:
Database user [app]: downtown
Database password: uptown
Database host [localhost]: mysql
Database port [3306]: 3306
Database name [shopware]: downtown
bin/console system:install --create-database --basic-setup --force
exit
Check if your URL to /public folder [http://shopware.local] is set in /etc/hosts
Please note:
- Administration is available at http://localhost/admin with user
admin
and passwordshopware
- Each sales channel represents an organisation/local authority
- Merchants show up in categories after registration and activation
- Merchants register through the separate Angular Merchant Administration described below
You can shut down the portal with this command:
docker-compose down --remove-orphans
Currently there is no docker container available, so you need to start the project using npm.
Change into the directory src/MerchantFrontend
. Then install dependencies and run the project:
cd src/MerchantFrontend
npm install && npm run start
After the promt Compiled successfully
, the merchant portal is available at http://localhost:4200/.
Please be aware: The registration for organisations is currently not wired up to the portal, it's just a hubspot form, for production use replace it with your own. For new organisations please create a sales channel manually in the portal.
Merchants are able to register and choose a category. To activate a merchant either click on the link in the registration request e-mail or, in case you haven't set up e-mail sending in the portal, do it directly in the database:
docker-compose exec mysql mysql -p # password is root
USE downtown;
UPDATE merchant SET active=1, activation_code = null WHERE email='[email protected]';
quit;
Explaining how to use a UI is easier done via video, so here is a tutorial video on how to configure organisations and merchants:
Mollie is the selected payment provider for downtown. If you want to enable these payment methods, please install and activate the Mollie plugin. Then activate required payment methods and assign it to your sales channel.
Please note, you have to change the APP_URL to be something else then localhost to comply with Mollie API guidelines. Use the /etc/hosts entry for local development.
If you sign is as merchant you'll have access to a new payments tab in your account data. Here you can set your molli API keys and test modes.
In addition to this, you can select what payments of your assigned sales channel should be enabled for your merchant. Only payment methods that are valid for the sales channel and are enabled in here will be shown during the checkout.
You have an idea or you found an issue? Please open an issue here: shopwareDowntown/portal/issues Help retailers by contributing to this project.