Giter Club home page Giter Club logo

stage-app's Introduction

Interns Managment Pro

Full stack App javascript MEAN Stack MongoDB, Express, Angular2+, NodeJs with beautiful UI/UX from scratch to deploy on Docker & K8s

Getting Started

Interns Management Pro is an app that allows for HR Department In Veon/Djezzy saving much time in the operation of handling interns in the company (more than 2000 interns each year) the app is made using javascript stack the following instructions show how you can use the project and deploy it in a private cloud

Development environment

Before you begin

Download and Install NodeJS and NPM from https://nodejs.org/en/download/.

Install Angular CLI globally Using NPM Cammand "npm install -g @angular/cli"

Download and Install MongoDB from https://www.mongodb.com/download-center (you can use Mongodb Atlas)

Running the Node.js

Download or clone the project code from https://github.com/abdm64/Stage-App.git

Install all required npm packages by running npm install from the command line in the Express-server folder (where the package.json is located).

Start the api by running npm start from the command line in the Express-server folder, you should see the message Server listening on port 3000. You can test the api directly using an application such as Postman or you can test it with one of the page web, make sure the mongoDB is running

$cd Express-server 

$npm install
$npm start 

Running an Angular client app with the Node.js API

Download or clone the Angular client app code from https://github.com/abdm64/Stage-App.git

Install all required npm packages by running npm install from the command line in the front-app folder (where the package.json is located).

Start the application by running ng serve from the command line in the front-app folder, this will launch a Server listening on port 4200 displaying the Angular application and it should be hooked up with the Node.js API

$cd front-app

$npm install
$ng serve

Login Page

Alt text

Home Page

Alt text

Production environment

Before you begin

Download and install Docker from https://github.com/docker/toolbox

Must have access to kubernetes cluster on AWS or GKE Google Kubernetes Engine or you can download and install minikube (test purpose) on your machine from https://kubernetes.io/docs/tasks/tools/install-minikube/

Must build a production version of the angular client app by running ng build --prod from the command line in the front-app folder don't forget to change the apiUrl for production environment.

$ng build --prod

Docker-compose

The easiest way to launch the app on production environment with docker is using the docker-compose tools:
run "docker-compose up" from the command line in the root folder (don't forget to change the database url with the name of service "stagedbone" apiUrl )

$docker-compose up 

Docker image

Build your own docker image and push it to your repo by running "docker build -t my-app-name:v1 . " from the cammand line in Express-server folder you can push it to your own registy

$cd Express-server

$docker build -t my-app-name:v1 . 

Kubernetes K8s

Deploying this app on kubernetes system can be so easy by applying the k8s yaml files, make sure that you upload the app image to the docker hub or private registry and change the image name config in stage-deployment.yaml , then run "kubectl apply -f k8s" from the cammand line in the root folder

$kubectl apply -f k8s

Remember : "always you can change the config and the api urls"

Author

  • Messelleka Abdellah - DevOps Engineer @ - Djezzy

License

This project is licensed under the MIT License

Credits

Made with ❤️ by Abdellah

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.