Coder Social home page Coder Social logo

mwinel / areya Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 717 KB

A simple hospital finder system.

Dockerfile 0.51% TypeScript 93.76% JavaScript 0.76% CSS 4.97%
nodejs expressjs nextjs docker kubernetes digitalocean nats-streaming mongodb nginx-ingress-controller skaffold

areya's Introduction

Areya

A simple but scalable app built based on the Microservices Architecture and deployed to the Digital Ocean Platform.

Tech Stacks

Setting up your dev enviroment

Docker

Before you attempt to clone the repo and follow the next steps on how to run the app, ensure you have Docker locally installed on your machine. If not, follow this guide on how to set up Docker on your machine.

Run the docker command to ensure that docker is successfully installed. If you get this error 'docker' is not recognized as an internal or external command, try to reinstall docker correctly or make sure it is added to your path.

Kubernetes

Docker Desktop includes a standalone Kubernetes server that runs on your local host, so that you can test deploying your Docker workloads on Kubernetes. To enable Kubernetes on your Docker desktop;

  • Open Docker desktop.
  • Click settings.
  • Under settings select Kubernetes.
  • Check Enable Kubernetes.
  • Click Apply and Restart.

Run the kubectl command to ensure that docker is successfully installed. If you get this error 'kubectl' is not recognized as an internal or external command, try to reinstall Kubernetes correctly or make sure it is added to your path.

Skaffold

Install and set up Skaffold using this guide on how to get started with Skaffold. Run the skaffold command to ensure that skaffold is successfully installed. If you get this error 'skaffold' is not recognized as an internal or external command, try to reinstall skaffold correctly or make sure it is added to your path.

  • Initialize and configure the google cloud sdk; first sign in with gcloud auth login. A little window will appear in your browser prompting you to choose the google account you prefer to use to sign in. Sign in with the account you used to create your GCP account.
  • Run gcloud container clusters get-credentials <cluster-name> to install the GPC context locally on Docker Desktop.

Ingress-Nginx

Follow this guide to set up ingress-nginx for your GCP project.

areya.dev domain

To ensure that everytime we try to visit areya.dev we navigate to the areya.dev on our machine rather than real url on the internet, open your local host file with your favorite editor in adminstrator mode: for example; C:\Windows\System32\Drivers\etc\hosts on windows or etc/hosts on mac.

Click Kubernetes Engines on your project menu, select Services and Ingress. Under services and ingress look for ingress-nginx-controller, copy the IP Address and paste it to your hosts file, then append the domain name in this format.

31.79.218.200 areya.dev

Save the file.

Running the app

Clone the repo.

git clone https://github.com/mwinel/areya.git

CD into the different services one at a time. For example;

cd auth

or

cd hospitals

Install dependancies.

npm install

After all dependencies in all services have been installed cd to the root folder and run;

skaffold dev

Finally navigate to areya.dev in your browser to test this app out.

Running Unit Tests

CD into a given service such as auth or hospitals and run the following command;

npm run test

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT

areya's People

Contributors

mwinel avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.