Leverage external API to find venues that accept cryptocurrency payments.
Client: React + Material UI
Server: ASP.NET Core WebAPI + GraphQL with Hot Chocolate
Database: MongoDB with Helm (bitnami) and Kubernetes (minikube)
APIs: Coinmap
Other:
- JWT Authentication
- Domain Driven Design
- MongoDB external API caching (1 day for categories, 1 hour for venues)
- In-memory Apollo client caching
https://minikube.sigs.k8s.io/docs/start/
minikube start
https://helm.sh/docs/intro/install/
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
helm install my-mongo bitnami/mongodb --set auth.enabled=true,auth.rootPassword=qwerty,auth.username=root,auth.password=qwerty,auth.database=venuefinder
Before running the project, make sure the database is accessible by running this command:
kubectl port-forward svc/my-mongo-mongodb 27017:27017
As long as the port forward is active, the database can be accessed locally.
After reviewing the project, you can remove the Helm environment:
helm delete my-mongo