[In construction: last updated at 2019-01-03]
I've been playing with a lot of web technologies in the past years. When starting a new project, I'm usually struggling between two mindsets: the tech explorer and the pragmatic engineer. The tech explorer mindset likes to test new frameworks: Why not try to build something in FeatherJS? Why not have a look at Firebase this time? What about Kubernetes in production? The pragmatic engineer is value driven: Let's build a robust API, an efficient frontend using my favorites web technologies. Let's fast-track this project so I can start using it tomorrow!
Today is a pragmatic engineer day. I want to share with you my way of building an app from Scratch using robust web technologies in 30 minutes. And we will push it to production within these 30 minutes.
Our web app
Set Up our Git Repository
Create special article
git add *
git commit -m "first commit"
git remote add origin firstname.lastname@example.org:charlesBochet/quizz.git
git push -u origin master
Set up the backend
Install Composer: https://getcomposer.org/doc/00-intro.md
composer global require laravel/installer
Update your path: export PATH=$PATH:$HOME/.composer/vendor/bin
laravel new networkin
php artisan serve
Set up the frontend
Push to production
echo "web: vendor/bin/heroku-php-apache2 public/" > Procfile
git add .
git commit -m "Procfile for Heroku"
- Frontend frameworks: jQuery (!), AngularJS, Angular, VueJS, ReactJS, NextJS, NuxtJS.
- UI: Bootstrap, Material, Bulma, ...
- Backend frameworks including Django (Python), Flask (Python), SpringBoot (Java), Symfony (PHP), Laravel (PHP), Express (NodeJS), Loopback (NodeJS), NestJS (NodeJS), FeatherJS (NodeJS), MeteorJS (NodeJS)
Databases & Caching: MySQL, PostgreSQL, MongoDB, Neo4j, Oracle, Firebase, Redis.
- Infra: VPS, AWS EC2, AWS ECS, AWS Elastic Beanstalk, Heroku, Docker, Kubernetes, Ansible, VirtualBox...