DPDK Architecture  ->  Guide (stable)

Where to begin

We always begin locally on your own machine. This will be the development environment. The chapters below will explain how to set up certain things

Pre-Install/Setup (Only needed for your first DPDK project)

  • Install your IDE of choice VSCode or PHPStorm.
  • Install NodeJS (https://nodejs.org/en/).
  • Install Google Chrome and at least one other (firefox, brave, safari or edge).
  • Install vagrant and virtualbox (https://vagrantup.com, https://virtualbox.org).
  • Install vagrant hostmanager with the following command vagrant plugin install vagrant-hostmanager.
  • Install vagrant nugrant plugin with the following command vagrant plugin install nugrant.

NPM

Make sure your npm registry is set correctly:

npm set registry https://npm.dpdk.com

The package-lock.json file will be messed up (in commits) if anyone in your team doesn't have it set up correctly.
If you really want to keep the default npm registry then please make sure you run npm commands like this: npm install --registry https://npm.dpdk.com/

Also don’t forget to run npm login with the credentials for the DPDK NPM Registry.

Setting up your project

  • Checkout the new git repository on you local machine.
  • Run the local.sh on your local machine (_scripts/build/local.sh).
  • Adapt the .vagrantuser file to you specific project needs.
  • Run the vagrant up command in the root of your project.
  • This should get your CMS up-and-running.
  • Run npm install in the root directory of your project.
  • Run npm start in the root directory of your project.
  • You should be up and running.

After the installation completed, the project can be reached on your local machine via https://client-project-year.dev.dpdk.com and/or http://localhost:3000

Tools Overview

At DPDK, we use the following tools on your local machine:

  • Vagrant (Script layer to automate vm management)
  • VirtualBox (Software that runs the VM's)
  • GIT (Version control)
  • NodeJS + NPM (Serverside javascript)
  • Sourcetree or Similar (A GIT GUI)
  • IDE (PHPStorm or Visual Studio Code) (Your main code editor)
  • Sequel Pro or MySQL Workbench (Used to show the MySQL database)
  • Robo 3T (Used to show the Mongo database)
  • Postman (Used for testing API's)

Software Support

| Software | MacOS | Linux | |:------------------ |:----- |:----- | | Vagrant | Yes | Yes | | VirtualBox | Yes | Yes | | GIT | Yes | Yes | | NodeJS + NPM | Yes | Yes | | Sourcetree | Yes | No | | GIT Cola | Yes | Yes | | PHPStorm | Yes | Yes | | Visual Studio Code | Yes | Yes | | Sequel Pro | Yes | No | | MySQL Workbench | Yes | Yes | | Robo 3T | Yes | Yes | | Postman | Yes | Yes |

Downloads

Below are the tools mentioned above with all download links:

  • Vagrant: https://www.vagrantup.com/downloads.html
  • VirtualBox: https://www.virtualbox.org/wiki/Downloads
  • NodeJS + NPM: https://nodejs.org/en/download/
  • Sourcetree: https://www.sourcetreeapp.com/
  • PHPStorm: https://www.jetbrains.com/phpstorm/download/
  • Visual Studio Code: https://code.visualstudio.com/download
  • Sequel Pro: https://sequelpro.com/download
  • MySQL Workbench: https://dev.mysql.com/downloads/workbench/
  • Robo 3T: https://robomongo.org/download
  • Postman: https://www.getpostman.com/apps
Last modifiedThursday, February 11, 2021, 9:47:54 AM UTC
Last authorGlenn de Haan
Commit IDc4aeb82