Django 1: Let the journey start!
Tags: python, django, docker, linux
Published: 2024-02-27 13:53:55

> _NOTE: This article was initially posted on my Substack, at https://andresalvareziglesias.substack.com/_

Hi everyone!

After more than 15 years working on good-but-old technologies (my beloved Java, PHP, etc), last year I decided to move forward and learn new languages and technologies. In Particular, I chose three very interesting fields: Python, Docker and a bit of AI. During this journey, I also want to learn common modern techniques and good practices, such as unit testing, etc.

Do you want to join me on this journey?

## Articles in this series

- Chapter 1: [Let the journey start](https://andresalvareziglesias.substack.com/p/let-the-journey-start-with-python-docker-and-ai?utm_source=post-toc)
- Chapter 2: [Create a containerized Django app with Gunicorn and Docker](https://andresalvareziglesias.substack.com/p/create-a-containerized-django-app?utm_source=post-toc)
- Chapter 3: [Serve Django static files with NGINX](https://andresalvareziglesias.substack.com/p/serve-django-static-files-with-nginx?utm_source=post-toc)
- Chapter 4: [Adding a database to our stack](https://andresalvareziglesias.substack.com/p/adding-a-database-to-our-stack?utm_source=post-toc)
- Chapter 5: [Applications and sites](https://andresalvareziglesias.substack.com/p/django-5-applications-and-sites)
- Chapter 6: [Using the Django ORM](https://andresalvareziglesias.substack.com/p/django-6-using-the-django-orm)
- Chapter 7: [Users login, logout and register](https://andresalvareziglesias.substack.com/p/django-7-users-login-logout-and-register)

## The idea

I think that the best way to learn something is to use it in a real application, and I choose one in which I can use these three fields: a multiplayer version of Tic Tac Toe with a IA based CPU player. And with a bit of magic added, but that's a surprise that will be revealed in the coming post ;-)

Let's call it, for example...

## Tic Magical Line

As I'm focusing on learning the basics of a well written Python full-stack application, the specifications of the application are not very important now. But we need a minimal idea of what want to build, so let's describe our customer request:

I want a supercool version of Tic Tac Toe with magical gems, and dragons, and a supersmart CPU player that uses IA. And sparks. A lot of sparks. With a cool name, like Toc Tic Tac, or Dragon Toe, or... yes! Tic Magical Line!

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvw41bh19xwy1x1wzao5.png)

As we want to learn how to build a Django app, our multiplayer game will use a Docker container with the Django app to serve the game logic and the user interface. Also, another container will have the database. We will choose it later. And, at the end, we will add another container with the IA engine.

The application will be thoroughly tested using frameworks like unittest for the backend and Selenium for the frontend.

## About the list

Among the Python and Docker posts, I will also write about other related topics (always tech and programming topics, I promise... with the fingers crossed), like:

- Software architecture
- Programming environments
- Linux operating system
- Etc.

If you found some interesting technology, programming language or whatever, please, let me know! I'm always open to learn something new!

## About the author

I'm Andrés, a full-stack software developer based in Palma, on a personal journey to improve my coding skills. I'm also a self-published fantasy writer with four published novels to my name. Feel free to ask me anything!