For this exercise, you will start working with a full-stack web framework. You can choose the framework you use, but it would likely be wise to choose the one your group is planning to use for their project.
Choose a full-stack MVC web framework. There are dozen of these out there, but likely choices include Rails, Django, Larvel, Express, Play. There are links to tutorials for a few likely candidates below.
Create a GitLab repository “framework-tutorial” for your work on this exercise. As always, add the instructor and TA as developers on the repo: ggbaker, lirongl, gna17.
Note on deployment and exercise 7: There is no requirement for this exercise that you use the ProjectRepo as before to create a Vagrant/Virtualbox or Docker environment. For this exercise, you can work in whatever environment you like. In Exercise7, you will be asked to get the code you produce here running with Vagrant or Docker. If you want to do that as part of this exercise, you're welcome to: it will make next week easier.
Feel free to work with others to overcome technical hurdles: it's just not possible for me to describe every possible combination of technologies here. Some more notes:
- If you are developing on your machine (without a VM setup), it will generally be easier to use SQLite as your database, since there is no server to install and connect to. You can then switch to MySQL or PostgreSQL when you “deploy” to a Vagrant environment.
- It's usually preferable to install the Ubuntu (or other package management) packages for the software you need, or packages with your language's tools (Gems, PyPi/pip, etc) for libraries (not manual installations, getting Git repository code, etc.).
Work through a reasonably-complete tutorial for your framework.
Some good tutorial choices are:
- Rails tutorial
- Django tutorial. You should probably do at least sections 1–4. You can reasonably ignore the “customize the admin” section.
- Express tutorial. This tutorial is quite long and complete. It will take some time, but you will know Express quite well at the end.
- Laravel tutorial. This is for an older version of Laravel, but can be adapted easily enough: just a few files have changed location.
If you would like to use a framework other than the ones listed above, feel free to find a suitable tutorial and work through it. Hopefully you can find one that includes all of the MVC layers in the framework.
In all cases, as you work through the tutorial, try not to fall into a habit of just blindly copy-and-pasting the code from the tutorial: try to actually take the time to figure out what's going on.
Commit and push the results of doing the tutorial. Please do not commit the SQLite database file, log files, etc.
Commit everything and create a Git tag, as you have before. Submit your Git tag through the CourSys activity Exercise 6.