Git Product home page Git Product logo

roll-your-own's Introduction

Roll-Your-Own Local Drupal Development Environment On Ubuntu 16.04

alt text Florida Drupal Users Group IRC: Freenode.org #drupal-florida

Complete Ubuntu 16.04 local development environment setup guide for Drupal 8. Includes LAMP, git, Composer, Drush, and RVM. Also, a few optional applications are included. (Sublime Text 3, PhpStorm, Node.js, Gulp.js and HexChat)

LOCAL set up only! Ubuntu 16.04 / LAMP / Drupal Sites Setup

1. Ubuntu 16.04 Install

2. Lamp Stack Installation

3. Server Applications Setup

4. Apache Configuration

5. vhost Setup and Configuration

6. Hosts File Configuration

7. Database Creation And Drupal Installation

8. IDE Installation

9. Optional Applications

10. Optional Database creation and Drupal Installation


1. Download Ubuntu

For installing and running Ubuntu on a virtual machine in Windows, follow this guide

  1. Create a bootable install disk or usb drive, follow directions and install Ubuntu. Need help installing Ubuntu?
  2. Open terminal: Ctrl+Alt+T
  3. Run updates:
$ sudo apt-get update

Give Your User Permissions!

  1. Add your username to the sudo group:
$ sudo adduser yourusername sudo
  1. Add your username to the www-data group:
$ sudo adduser yourusername www-data

2. Lamp Stack Installation

  1. Install Apache:
$ sudo apt-get install apache2
  1. Open Apache main configuration file:
$ sudo nano /etc/apache2/apache2.conf
  1. Use the arrow key to scroll down to the end of the file and type in: ServerName localhost
  2. Press CTRL+o (to save)
  3. Press Enter
  4. Press CTRL+x (to exit)
  5. You can check to make sure that it saved with:
$ cat /etc/apache2/apache2.conf
  1. Restart apache:
$ sudo service apache2 restart
  1. Change the ownership of /var/www/html to your username:
$ sudo chown yourusername:www-data /var/www/html -R

Install MySQL server

  1. Install MySQL:
$ sudo apt-get install mysql-server mysql-client
  1. Create a password. If this is your first time taking these steps, a sample user and password to use would be "root" (without quotes). Proceed to use this for the rest of the guide
  2. Check the service status with:
$ sudo /etc/init.d/mysql status

Install PHP

  1. Install PHP:
$ sudo apt-get -y install php7.0 libapache2-mod-php7.0
  1. Create a PHP file:
$ sudo nano /var/www/html/phpinfo.php
  1. Add the following code:
    <?php  
    
    phpinfo();
    
    ?>
  1. Press CTRL+o (to save)
  2. Press Enter
  3. Press CTRL+x (to exit)
  4. Restart Apache:
$ sudo service apache2 restart
  1. Open browser and navigate to: localhost/phpinfo.php r enter the following in Terminal:
$ sudo systemctl status mysql

Install phpMyAdmin

  1. Install phpMyAdmin:
$ sudo apt-get update    
$ sudo apt-get install phpmyadmin php-mbstring php-gettext
  1. Important! Press the spacebar to choose Apache 2. An ***** will display.
  2. Press Tab (to navigate down the menu to ok)
  3. Press Enter
  4. Select Yes to configure with dbconfig-common
  5. Follow the prompts
  6. Enable mcrypt and mbstrings extentsions:
$ sudo phpenmod mcrypt
$ sudo phpenmod mbstring
  1. Restart Apache:
$ sudo service apache2 restart
  1. Test by navigating in the browser to: localhost/phpmyadmin
  2. You can follow the rest of the tutorial for additional security; not required for local development
  3. Don’t ever do this on a live server but local is fine. Drupal php needs access:
$ chmod 777 /var/www/html

Increase Max Limit In php.ini

  1. Open the PHP configuration file:
$ sudo nano /etc/php/7.0/apache2/php.ini
  1. Press CTRL+w (to search) and type memory_limit
  2. Change to: memory_limit = 512M
  3. Press CTRL+o (to save)
  4. Press Enter
  5. Press CTRL+x (to exit)

Create SSH key

  1. Change to root directory:
$ cd ~
  1. Create .ssh directory:
$ mkdir .ssh
  1. Change directory permissions:
$ sudo chmod 700 .ssh
  1. Create an RSA Key Pair (skip if you already have a key):
$ ssh-keygen -t rsa
  1. Press Enter three times (type a passphrase if you wish)

Note: You will see the following messages to which you can just press enter:

Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

3. Server Applications Setup

Install git

  1. Change to root directory:
$ cd ~
  1. Install git:
$ sudo apt-get install git
  1. Set your name for git identity:
$ git config --global user.name yourname
  1. Set your email for git identity:
$ git config --global user.email [email protected]
  1. To add color to git use this command:
$ git config --global color.ui auto
  1. See all current values:
$ git config --list

Install Composer

Note! You must install composer before installing drush

  1. Change to root directory:
$ cd ~
  1. Install cURL:
$ sudo apt-get install curl
  1. Download Composer:
$ curl -sS https://getcomposer.org/installer | php
  1. Move composer to bin:
$ sudo mv composer.phar /usr/local/bin/composer
  1. Add path to the .bashrc:
$ sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
  1. Source the .bashrc file:
source $HOME/.bashrc
  1. (Optional) Check your current version of Composer
composer --version

Install Drush (must install composer first)

For additional drush commands visit www.drushcommands.com

Installing Drush 8 (note, you may or may not need to precede each command with sudo based on your user permissions)

  1. Change to your bin directory
$ cd /usr/local/bin
  1. create the drush-8 directory
$ mkdir drush-8
  1. Change to the new drush-8 directory
$ cd drush-8
  1. Install Drush 8 in the current directory
$ composer require drush/drush:8.x 
  1. Create a symlink to drush-8 to enable global calling of the drush8 command
$ ln -s /usr/local/bin/drush-8/vendor/bin/drush /usr/local/bin/drush8
  1. (Optional) Check your current version of drush8
$ drush8 --version

Installing Drush 7 (note, you may or may not need to precede each command with sudo based on your user permissions)

  1. Change to your bin directory
$ cd /usr/local/bin
  1. create the drush-7 directory
$ mkdir drush-7
  1. Change to the new drush-7 directory
$ cd drush-7
  1. Install Drush 7 in the current directory
$ composer require drush/drush:7.x 
  1. Create a symlink to drush-7 to enable global calling of the drush7 command
$ ln -s /usr/local/bin/drush-7/vendor/bin/drush /usr/local/bin/drush7
  1. (Optional) Check your current version of drush7
$ drush7 --version

Write a script to change between Drush 7 and 8 automatically for your Drupal sites

  1. Change to your bin directory and create a new drush file
$ cd /usr/local/bin
$ sudo nano drush
  1. Insert this script in the newly created file
#!/bin/sh
version=$(git config --get drush.version)
if [ "$version" = '7' ];
then
drush7 "$@"
else
drush8 "$@"
fi

Hit Ctrl+O to save the file Hit Enter Hit Ctrl+X to close the file

4. Apache Configuration

Configure Apache To Preference .php Files Over .html Files

  1. Open /etc/apache2/mods-enabled/dir.conf for editing:
$ sudo nano /etc/apache2/mods-enabled/dir.conf
  1. Add a parameter reading "index.php" as the first item after "DirectoryIndex":
    <IfModule mod_dir.c>
    
              DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
    
    </IfModule>

Note: index.php may be listed later in the line. Delete the second instance of it.

  1. Press CTRL+o (to save)
  2. Press Enter
  3. Press CTRL+x (to exit)
  4. Restart Apache:
$ sudo service apache2 restart

Enable Global Site Clean URL’s

  1. Enable the rewrite module for Apache:
$ sudo a2enmod rewrite
  1. Restart Apache:
$ sudo service apache2 restart
  1. Open /etc/apache2/apache2.conf for editing:
$ sudo nano /etc/apache2/apache2.conf
  1. Scroll down until you find:
    <Directory /var/www/>
    
		    Options Indexes FollowSymLinks
    
	    	AllowOverride None
        
	    	Require all granted
    
    </Directory>
  1. Change AllowOverride None to AllowOverride All:
    <Directory /var/www/>

	    	Options Indexes FollowSymLinks
    
		    AllowOverride All
    
		    Require all granted
    
    </Directory>
  1. Restart Apache:
$ sudo service apache2 restart

5. vhost Setup and Configuration

  1. Change to the /etc/apache2/sites-available directory:
$ cd /etc/apache2/sites-available
  1. Create and open a new vhost config file just for drupal:
$ sudo nano drupal
  1. Add in the following
    NameVirtualHost *:80
    
    <VirtualHost *:80>
    
       DocumentRoot /var/www
    
       ServerName localhost
    
    </VirtualHost>
  1. Press CTRL+o (to save)
  2. Press Enter
  3. Press CTRL+x (to exit)

Create Symlinks for the drupal file in the sites-enabled directory

  1. Change to the /etc/apache2/sites-enabled directory:
$ cd /etc/apache2/sites-enabled
  1. Create a symlink to ../sites-available/drupal in /etc/apache2/sites-enabled:
$ sudo ln -s ../sites-available/drupal .
  1. Restart Apache
$ sudo service apache2 restart

Easy Navigate To Sites Directory By Creating A Symlink To /var/www/html

  1. Change to root directory:
$ cd ~
  1. Change "foo" to your user. (If you are unsure of the name, type pwd in the command line):
$ ln -s  /var/www/html /home/foo/sites

Now you can easily cd sites and you will be directly in the html folder

Future note: You can create and name a symlink wherever you like

  • The first path is what you are linking
  • The second path is where the link will be

Example:

$ ln -s /what/is/being/linked /where/symlink/goes/nameofsymlink

To remove a symlink: unlink sites (symlink name)


6. Hosts File Configuration

Configure Apache For Sites (Follow this for either site creation methods.)

  1. Open /etc/hosts file for editing:
$ sudo nano /etc/hosts
  1. Add the follow to the last line:
# Drupal sites
127.0.0.1 newsite.dev
  1. Press CTRL+o (to save)
  2. Press Enter
  3. Press CTRL+x (to exit)

Future note: You will edit this file for every additional site so it will look like this:

# Drupal sites
127.0.0.1 newsite.dev

127.0.0.1 newsite2.dev

127.0.0.1 newsite3.dev

7. Database Creation And Drupal Installation

Create Database And Site Via GUI/git

Create Database

  1. Open browser and navigate to http://localhost/phpmyadmin
  2. Create new database called newsite

Git Clone Site

Note: you shouldn't need "sudo" for these steps. If you get permission errors, please check the permissions for /var/www/html

  1. Change to your sites directory: (Hopefully you created a symlink. If you didn’t then use $ cd /var/www/html):
$ cd sites
  1. Clone Drupal 8:
  • Go to https://drupal.org/project/drupal to verify the latest version.
  • Click the "Version Control" tab.
  • Select the correct version from the "Version to work from" drop down.
  • Your git clone will look similar to the following:
$ git clone --branch 8.3.x https://git.drupal.org/project/drupal.git
  1. Change the name of the cloned drupal directory to the name of the new site:
$ mv drupal newsite.dev
  1. Change to newsite.dev/sites directory:
$ cd newsite.dev/sites
  1. For Pantheon.io sites, copy example.settings.local.php to default and name it settings.local.php
$ cp example.settings.local.php default/settings.local.php
  1. Change to the default directory. Copy default.settings.php and rename as settings.php
$ cd default
$ cp default.settings.php settings.php
  1. Create the Directory Files
$ mkdir files
  1. Change file permissions
$ chmod 777 files
$ chmod 777 settings.php
$ chmod 777 settings.local.php

Complete Install

  1. Open browser and navigate to localhost/newsite.dev Note: If you are getting a blank white screen here (called the White Screen of Death), try using an earlier version of Drupal, such as 8.0.x
  2. Complete install, making sure to fill in database name and password
  3. At any time, to update your Drupal site, run the following Drush command from the root of your site directory (replace X.X.X with the desired version)
$ drush pm-update projects drupal-X.X.X

Rinse and repeat this section for new drupal sites you may create

8. IDE Installation

Install IDE (Sublime Text 3)

Sublime Text is a sophisticated text editor for code, html and prose.

  1. Change to root directory:
$ cd ~
  1. Add the WebUpd8 Sublime Text 3 (beta) PPA:
$ sudo add-apt-repository ppa:webupd8team/sublime-text-3
  1. Download the package lists from the repositories and "update" them to get information on the newest versions of packages and their dependencies. It will do this for all repositories and PPAs.
$ sudo apt-get update
  1. Install Sublime Text 3:
$ sudo apt-get install sublime-text-installer
  1. Add in drupal specific preferences https://drupal.org/node/1346890

Configuration Information For PhpStorm Users


9. Optional Applications/Information

Install Terminator

  1. Change to root directory:
$ cd ~
  1. Add the Terminator Nightly Builds PPA:
$ sudo add-apt-repository ppa:gnome-terminator/nightly
  1. Download the package lists from the repositories and "update" them to get information on the newest versions of packages and their dependencies. It will do this for all repositories and PPAs.
$ sudo apt-get update
  1. Install Terminator:
$ sudo apt-get install terminator

Alternate Database And Site Creation Using Command Line And Drush

Create Database

  1. Create a database, Replace database_name with the name of your choice.
$ mysqladmin -u root -p create database_name
  1. Enter your MySQL root password at the prompt.

Create database user for site via command line

  1. Open the mySQL client using root:
$ mysql -u root -p
  1. Enter your MySQL root password at the prompt.

  2. Create a user:

mysql> CREATE USER 'name_of_new_user'@'localhost' IDENTIFIED BY 'password_of_new_user';
  1. Grant name_of_new_user privileges to database_name:
mysql> GRANT ALL PRIVILEGES ON 'database_name'.* TO 'name_of_new_user'@'localhost';
  1. Reload the grant tables:
mysql> FLUSH PRIVILEGES;
  1. Exit mySQL
mysql> quit

Install RVM

RVM (“Ruby Version Manager”) Required for theming with sass/compass RVM allows you to install and manage multiple installations of Ruby on your system. It can also manage different gemsets. It is available for OS X, Linux, or other UNIX-like operating systems.

  1. Download signatures:
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
  1. Download RVM
$ curl -sSL https://get.rvm.io | bash -s stable
  1. Source ~/.rvm/scripts/rvm:
$ source ~/.rvm/scripts/rvm
  1. Find current stable version at www.ruby-lang.org/en/downloads/
  2. Install current stable version of RVM:
$ rvm install 2.2.2
  1. Change terminal preferences by going to: Edit > Profile Preferences Title and Command
  2. Check the box to Run command as a login shell.
  3. Close terminal and reopen.
  4. Find the latest version www.ruby-lang.org/en/downloads/
  5. Switch to Ruby 2.2.2:
$ rvm use 2.2.2
  1. Verify Ruby version:
$ ruby -v

Install Node.js

Install Options

  • Option 1 is the recommended method for the masses, as it should be stable and secure.
  • Options 2, 3, and 4 have the advantage of keeping your node and npm packages the most curren

Option 1: Install the standard Debian/Ubuntu packages for “node” and “npm”.

  1. To install Node.js, open a terminal and type the following command:
$ sudo apt-get install nodejs
  1. Then install the Node package manager called “npm”:
$ sudo apt-get install npm
  1. Create a symbolic link for “node” as many Node.js tools use this name to execute.
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
  1. Now we should have both the node and npm commands working:
$ node -v
v0.10.25
   $ npm -v
   1.3.10

Option 2: Install from Debian/Ubuntu packages created by the Node.js (associated) team.

The process below is described here, too.

  1. Add the Node.js maintained repositories to your Ubuntu package source list with this command:
$ curl -sL https://deb.nodesource.com/setup | sudo bash -
  1. Then install Node.js with apt-get:
$ sudo apt-get install nodejs
  1. Optionally we can create a symbolic link for “node” (for reasons mentioned earlier):
$ sudo ln -s /usr/bin/nodejs /usr/bin/node
  1. Using this install option, we end up with newer versions of “nodejs” and “npm”:
$ node -v
v0.10.35
$ npm -v
1.4.28

Option 3: Install Node.js manually from standard binary packages on the official website.

Go to the official Node.js download page and download either the 32-bit or 64-bit Linux binary file, depending on your system type.

  1. You can check what CPU architecture your server has with these commands:
$ getconf LONG_BIT
64
$ uname -p
x86_64
  1. You can download this file from the browser or from the console. The latter is shown below (note: the specific Node.js version might be different for you):
$ wget http://nodejs.org/dist/v0.12.0/node-v0.12.0-linux-x64.tar.gz
  1. From a console window, go to the directory where the Node.js binary was downloaded to, and then execute the following command to install the Node.js binary package in “/usr/local/”:
$ sudo tar -C /usr/local --strip-components 1 -xzf node-v0.10.34-linux-x86.tar.gz
  1. You should now have both node and npm installed in “/usr/local/bin”. You can check this typing:
$ ls -l /usr/local/bin/node
$ ls -l /usr/local/bin/npm

Option 4: Install Node.js from the Github source repository.

Useful Note Regarding Older "node" Packages When Updating

On Ubuntu, the “nodejs” package has a similar name to the older one named “node”. The old one is an amateur packet radio program you can more than likely remove.

If you already have “node” installed, you might want to remove it. Some Node.js tools might execute Node.js as “node” instead of “nodejs” causing conflicts.

You can look for and remove the “node” package by executing these commands in a terminal. To access a terminal, navigate the desktop menu to: Applications -> Accessories -> Terminal.

Run this command and if it says “install” in the right column, “node” is on your system:

$ dpkg --get-selections | grep node
ax25-node                                       install
node                                            install

If you found the old “node” package installed, run this command to completely remove it:

$ sudo apt-get remove --purge node

Gulp.js Streaming Build System

  1. Install gulp globally:
$ npm install --global gulp
  1. Install gulp in your project devDependencies:
$ npm install --save-dev gulp
  1. Create a gulpfile.js at the root of your project:
var gulp = require('gulp');

gulp.task('default', function() {
  // place code for your default task here
});
  1. Run gulp:
$ gulp

The default task will run and do nothing. To run individual tasks, use gulp <task> <othertask>.

Where do I go now?

You have an empty gulpfile and everything is installed. How do you REALLY get started? Check out the recipes and the list of articles for more information.

.src, .watch, .dest, CLI args - How do I use these things?

For API specific documentation you can check out the documentation for that.

Available Plugins

The gulp community is growing, with new plugins being added daily. See the main website for a complete list.


Install IRC (HexChat)

  1. Add the HexChat PPA:
$ sudo add-apt-repository ppa:gwendal-lebihan-dev/hexchat-stable
  1. Download the package lists from the repositories and "update" them to get information on the newest versions of packages and their dependencies. It will do this for all repositories and PPAs
$ sudo apt-get update
  1. Install HexChat:
$ sudo apt-get install hexchat

10 Optional Database Creation and Drupal installation


Create site via drush

  1. Change to your sites directory: (Hopefully you created a symlink. If you didn’t then use $ cd /var/www/html):
$ cd sites
  1. Download Drupal:
$ sudo drush dl drupal --drupal-project-rename=site_directory_name
  1. Change to the site_directory_name
$ cd site_directory_name
  1. Drupal Site Install. This will also create your settings.php file:
$ drush si standard --account-name=admin --account-pass=admin --db-url=mysql://database_user_name:database_user_password@localhost/database_name

Note: as mentioned in previous steps, if this was your first time running through this, replace your account-name, account-pass, database_user_name, and database_user_password with the sample "root"


Get an old site up and running

You will need:

  1. Compressed database dump from old site in (mysql.zip or mysql.gz)
  2. All of the files or ability to git clone the files of the old site ** If you are not able to get a db dump and need to use backup and migrate module, Please follow a different set of directions, posted on page 10.

Create database

  1. Open browser and navigate to localhost/phpMyAdmin
  2. Create new database for your site. Example: oldsite or old_site
  3. Click on the newly created database
  4. Choose import, navigate to the compressed db file (mysql.gz) and click go

Configure Apache2 for the old site

  1. Open the Hosts file:
$ sudo nano /etc/hosts
  1. Add under the last line
# Drupal sites
127.0.0.1 oldsite.dev
  1. Press CTRL+o (to save)

  2. Press Enter

  3. Press CTRL+x (to exit)

Place the oldsite folder in /var/www/html (or git clone the oldsite to this folder)

  1. Navigate to /sites (or /var/www/html if you didn’t create a symlink)
  2. Change the name of your folder to oldsite.dev (basically we are adding .dev and making sure the name of this folder matches the oldsite.dev name in the hosts file)
  3. Navigate into the sites/default folder and delete any old settings.php
  4. Copy default.settings.php and rename it: settings.php

Manually link your oldsite to the new database

  1. Open the settings.php file:
$ sudo nano sites/default/settings.php
  1. You can copy/paste this into settings.php around line 219. Look for:
    $databases = array();
    
    $databases = array (
    
      'default' =>
    
      array (
    
        'default' =>
    
        array (
    
        'database' => 'DATABASENAME',
    
        'username' => 'root',
    
        'password' => 'root',
    
        'host' => 'localhost',
    
        'port' => '',
    
        'driver' => 'mysql',
    
        'prefix' => '',
    
       ),
    
     ),
    
   );
  1. Change 'database' => 'DATABASENAME', to your oldsite database name
  2. If your local phpMyAdmin has a different pw than root/root then change that too
  3. Press CTRL+o (to save)
  4. Press Enter
  5. Press CTRL+x (to exit)

Hope for the best! We all know that getting an old site up and running locally can be challenging

  1. Navigate to localhost/oldsite.dev
  2. You will need your old username/password as it is stored in the database to log in

Specific Install for using backup_migrate module

You will need:

  1. All of the files or ability to git clone the files of the old site
  2. Backup of the oldsite using backup_migrate module

Create an empty database

  1. Open browser and navigate to localhost/phpmyadmin
  2. Create new database for your site. example: oldsite or old_site

Configure Apache2 for the old site

  1. Open the Hosts file:
$ sudo nano /etc/hosts
  1. Add under the last line
# Drupal sites
127.0.0.1 oldsite.dev
  1. Press CTRL+o (to save)
  2. Press Enter
  3. Press CTRL+x (to exit)

Place the oldsite folder in /var/www/html (or git clone the oldsite to this folder)

  1. Navigate to /sites (or /var/www/html if you didn’t create a symlink)
  2. Change the name of your folder to oldsite.dev (basically we are adding .dev and making sure the name of this folder matches the oldsite.dev name in the hosts file)
  3. Navigate into the sites/default folder and delete any old settings.php
  4. Copy default.settings.php and rename it: settings.php
  5. In your browser, navigate to localhost/oldsite.dev
  6. Complete the install process, making sure to complete the section when it asks for the database name and password.

Install backup_migrate module

  1. cd into the root of the oldsite.dev
  2. Download the backup_migrate module:
$ drush dl backup_migrate
  1. Enable the backup_migrate module:
$ drush en backup_migrate
  1. Log into your site, go to configuration management, and restore backup_migrate database as usual

Common troubleshooting stuff when working with older sites

  1. Reset the admin username/password (assuming admin is the username)
  2. cd to the root of your oldsite.dev
  3. Set username and password:
$ drush user-password admin --password=newpassword
  1. Only the front page shows, 404 on any other nodes
  2. Make sure there is an .htaccess file in the root of the site * If it is missing, simply copy/paste .htaccess into the root of your oldsite.dev from another drupal site
  3. If .htaccess is there and still having issues, check for clean urls 2. In the browser, navigate to localhost/oldsite.dev/?q=admin/config/search/clean-urls 3. There should be a checkmark and option to run clean urls 4. For additional clean url troubleshooting: https://www.drupal.org/node/15365 5. In the meantime, you can still painfully navigate the site with /?q=
  4. Missing images * If you git cloned, your files folder will be empty. Grab the files folder from the old site and place in sites/default/
  5. White screen of death (WOD):
$ drush updb

Important drush command change

Drupal 8:

	$ drush cr all

roll-your-own's People

Contributors

c13l0 avatar ky1e avatar marsalav avatar benhosmer avatar kevinmech avatar lindagreen avatar lucio1024 avatar delodell avatar mac1253 avatar

Watchers

James Cloos 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.