TeaStore
A micro-service reference test application for model extraction, cloud management, energy efficiency, power prediction, single- and multi-tier auto-scaling
File Explorer
Download Latest Version (.zip)- codeql-analysis.yml
- development.yml
- prepareRelease.yml
- settings.json
- auth.js
- categories.js
- navigation.js
- shopping_cart.js
- index.js
- commands.js
- index.js
- cypress.json
- package-lock.json
- package.json
- README.md
- docker-compose_default.yaml
- docker-compose_https.yaml
- docker-compose_kieker.yaml
- docker-compose_rabbitmq.yaml
- _helpers.tpl
- auth-service.yaml
- auth-statefulset.yaml
- auth.tpl
- db-service.yaml
- db-statefulset.yaml
- db.tpl
- image-service.yaml
- image-statefulset.yaml
- image.tpl
- persistence-service.yaml
- persistence-statefulset.yaml
- persistence.tpl
- recommender-service.yaml
- recommender-statefulset.yaml
- recommender.tpl
- registry-service.yaml
- registry-statefulset.yaml
- registry.tpl
- webui-service.yaml
- webui-statefulset.yaml
- webui.tpl
- .helmignore
- Chart.yaml
- values.yaml
- httploadgenerator.jar
- increasingHighIntensity.csv
- increasingLowIntensity.csv
- increasingMedIntensity.csv
- teastore_browse.lua
- teastore_buy.lua
- teastore_browse.jmx
- teastore_browse_nogui.jmx
- teastore_browse_rps.jmx
- teastore-all.yaml
- teastore-clusterip.yaml
- teastore-clusterip_v16.yaml
- teastore-rabbitmq.yaml
- teastore-rabbitmq_v16.yaml
- teastore-ribbon-kieker.yaml
- teastore-ribbon-kieker_v16.yaml
- teastore-ribbon.yaml
- teastore-ribbon_v16.yaml
- locustfile.py
- .gitignore
- MANIFEST.MF
- SessionBlob.java
- Category.java
- ImageSize.java
- ImageSizePreset.java
- Order.java
- OrderItem.java
- Product.java
- User.java
- InterfaceTests.java
- .gitignore
- pom.xml
- AuthCartRest.java
- AuthUserActionsRest.java
- ReadyRest.java
- BCryptProvider.java
- ConstantKeyProvider.java
- IKeyProvider.java
- ISecurityProvider.java
- ISessionIdGenerator.java
- RandomSessionIdGenerator.java
- ShaSecurityProvider.java
- AuthStartup.java
- MANIFEST.MF
- README.txt
- web.xml
- ConstantKeyProviderTest.java
- ShaSecurityProviderTest.java
- .checkstyle
- .gitignore
- Dockerfile
- pom.xml
- AbstractEntry.java
- CountedEntry.java
- ICachable.java
- ICacheEntry.java
- SimpleEntry.java
- TimedEntry.java
- CacheAll.java
- AbstractCache.java
- AbstractQueueCache.java
- AbstractTreeCache.java
- FirstInFirstOut.java
- IDataCache.java
- LastInFirstOut.java
- LeastFrequentlyUsed.java
- LeastRecentlyUsed.java
- MostRecentlyUsed.java
- RandomReplacement.java
- ImageProviderEndpoint.java
- CachingMode.java
- CachingRule.java
- CreatorFactory.java
- CreatorRunner.java
- ImageCreator.java
- ImageIDFactory.java
- ImageProviderStartup.java
- SetupController.java
- StorageMode.java
- StorageRule.java
- StoreAll.java
- StoreLargeImages.java
- DriveStorage.java
- IDataStorage.java
- NoStorage.java
- ImageDB.java
- ImageDBKey.java
- ImageProvider.java
- ImageScaler.java
- StoreImage.java
- black-tea.png
- filters.png
- green-tea.png
- herbal-tea.png
- infusers.png
- rooibos.png
- tea-cups.png
- tea-pots.png
- white-tea.png
- andreBauer.png
- descartesLogo.png
- error.png
- front.png
- icon.png
- joakimKistowski.png
- johannesGrohmann.png
- norbertSchmitt.png
- notFound.png
- samuelKounev.png
- simonEismann.png
- MANIFEST.MF
- web.xml
- AbstractEntryWrapper.java
- TestAbstractEntry.java
- TestCountedEntry.java
- TestSimpleEntry.java
- TestTimedEntry.java
- TestCacheAll.java
- AbstractCacheTestInit.java
- AbstractCacheWrapper.java
- DummyData.java
- DummyEntry.java
- TestAbstractCache.java
- TestFirstInFirstOut.java
- TestLastInFirstOut.java
- TestLeastFrequentlyUsed.java
- TestLeastRecentlyUsed.java
- TestMostRecentlyUsed.java
- TestRandomReplacement.java
- TestStoreAll.java
- TestStoreLargeImages.java
- TestDriveStorage.java
- TestNoStorage.java
- TestImageDB.java
- TestImageDBKey.java
- TestImageProvider.java
- TestImageScaler.java
- TestStoreImage.java
- .gitignore
- Dockerfile
- pom.xml
- context.xml
- InitialDataGenerationDaemon.java
- LocalDateAttributeConverter.java
- LocalDateTimeAttributeConverter.java
- CategoryRepository.java
- OrderItemRepository.java
- OrderRepository.java
- PersistenceCategory.java
- PersistenceOrder.java
- PersistenceOrderItem.java
- PersistenceProduct.java
- PersistenceUser.java
- ProductRepository.java
- UserRepository.java
- AbstractPersistenceRepository.java
- CacheManager.java
- DatabaseManagementEntity.java
- DataGenerator.java
- EMFManager.java
- CacheManagerEndpoint.java
- CategoryEndpoint.java
- DatabaseGenerationEndpoint.java
- OrderEndpoint.java
- OrderItemEndpoint.java
- ProductEndpoint.java
- UserEndpoint.java
- IndexServlet.java
- persistence.xml
- MANIFEST.MF
- web.xml
- EMFManagerInitializer.java
- DataGeneratorTest.java
- RegistrationDaemon.java
- RepositoryTest.java
- .gitignore
- Dockerfile
- pom.xml
- PreprocessedSlopeOneRecommender.java
- SlopeOneRecommender.java
- OrderBasedRecommender.java
- PopularityBasedRecommender.java
- DummyRecommender.java
- UseFallBackException.java
- AbstractRecommender.java
- IRecommender.java
- OrderItemSet.java
- RecommenderSelector.java
- RecommendEndpoint.java
- RecommendSingleEndpoint.java
- TrainEndpoint.java
- IndexServlet.java
- RecommenderStartup.java
- RetrainDaemon.java
- TrainingSynchronizer.java
- MANIFEST.MF
- web.xml
- AbstractRecommenderFunctionalityTest.java
- AbstractRecommenderTest.java
- DummyRecommenderTest.java
- OrderBasedRecommenderTest.java
- PopularityBasedRecommenderTest.java
- PreprocessedSlopeOneRecommenderTest.java
- SlopeOneRecommenderTest.java
- .gitignore
- Dockerfile
- pom.xml
- HeartbeatInfo.java
- Registry.java
- RegistryREST.java
- RegistryStartup.java
- IndexServlet.java
- MANIFEST.MF
- web.xml
- .gitignore
- Dockerfile
- pom.xml
- ReadyRest.java
- ELHelperUtils.java
- AboutUsServlet.java
- AbstractUIServlet.java
- CartActionServlet.java
- CartServlet.java
- CategoryServlet.java
- DataBaseActionServlet.java
- DataBaseServlet.java
- ErrorServlet.java
- IndexServlet.java
- LoginActionServlet.java
- LoginServlet.java
- OrderServlet.java
- ProductServlet.java
- ProfileServlet.java
- StatusServlet.java
- WebuiStartup.java
- bootstrap-theme.css
- bootstrap-theme.css.map
- bootstrap-theme.min.css
- bootstrap-theme.min.css.map
- bootstrap.css
- bootstrap.css.map
- bootstrap.min.css
- bootstrap.min.css.map
- glyphicons-halflings-regular.eot
- glyphicons-halflings-regular.svg
- glyphicons-halflings-regular.ttf
- glyphicons-halflings-regular.woff
- glyphicons-halflings-regular.woff2
- bootstrap.js
- bootstrap.min.js
- jquery.min.js
- npm.js
- front.png
- icon.ico
- separator.gif
- MANIFEST.MF
- about.jsp
- cart.jsp
- category.jsp
- categorylist.jsp
- database.jsp
- error.jsp
- footer.jsp
- head.jsp
- header.jsp
- index.jsp
- login.jsp
- order.jsp
- product.jsp
- product_item.jsp
- profile.jsp
- recommender.jsp
- status.jsp
- web.xml
- autoRefreshScript.js
- resizingscript.js
- teastore.css
- .gitignore
- .tern-project
- Dockerfile
- pom.xml
- build_docker.sh
- test_kieker.sh
- test_webui.sh
- MANIFEST.MF
- .gitignore
- Dockerfile
- setup.sql
- setupData.sql
- MANIFEST.MF
- .gitignore
- Dockerfile
- pom.xml
- MANIFEST.MF
- cert.pem
- generate_cert.sh
- key.pem
- .gitignore
- aop.xml
- baseContext.xml
- Dockerfile
- kieker-2.0.0-aspectj.jar
- kieker.monitoring.properties
- mysql-connector-java-5.1.44-bin.jar
- pom.xml
- server.xml
- start.sh
- Configurator.java
- .gitignore
- pom.xml
- IPayloadCharacterization.java
- OperationExecutionWithParametersRecord.java
- AbstractOperationExecutionWithParameterAspect.java
- .gitignore
- pom.xml
- DisplayLogs.java
- FileWriterDaemon.java
- IndexServlet.java
- LogConsumer.java
- LogReaderDaemon.java
- LogReaderStartup.java
- MemoryLogStorage.java
- Reset.java
- web.xml
- .gitignore
- apache-tomcat-8.5.24.zip
- custom_definitions.json
- Dockerfile
- pom.xml
- rabbitmq.config
- MANIFEST.MF
- EndpointClientCollection.java
- LoadBalancerTimeoutException.java
- LoadBalancerUpdaterDaemon.java
- ServiceLoadBalancer.java
- ServiceLoadBalancerResult.java
- CharResponseWrapper.java
- HttpWrapper.java
- LoadBalancedCRUDOperations.java
- LoadBalancedImageOperations.java
- LoadBalancedRecommenderOperations.java
- LoadBalancedStoreOperations.java
- NonBalancedCRUDOperations.java
- ResponseWrapper.java
- RestUtil.java
- TrackingFilter.java
- Tracing.java
- AbstractCRUDEndpoint.java
- NotFoundException.java
- RESTClient.java
- TimeoutException.java
- RegistryClient.java
- RegistryClientHeartbeatDaemon.java
- Service.java
- StartupCallback.java
- StartupCallbackTask.java
- .gitignore
- pom.xml
- .gitignore
- .gitpod.yml
- GET_STARTED.md
- LICENSE
- limbo_checkstyle.xml
- pom.xml
- README.md
# Installation Guide
1. Get the code
git clone https://github.com/DescartesResearch/TeaStore
Downloads the entire project code from GitHub to your computer.
cd TeaStore
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
1. [Docker containers with Kieker](#221-docker-containers-with-kieker)
Type this command into your terminal and run it.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
Pulled directly from this repo's README.
3. Maven (Java)
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- JDK (Java) Required to build and run Java projects.
- Maven The build tool used for the mvn command.
cd interfaces/tools.descartes.teastore.entities
This project's files live in a subfolder, so move into it first.
mvn clean install
Installs dependencies and builds the project using Maven.
A BUILD SUCCESS message means it worked. The output is created under target/.
4. Node.js
EasyPrerequisites
cd e2e-tests
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.
// repository documentation
Was this content helpful?
(0 ratings)
