⚠ Note: This repository has been archived and is no longer maintained.
This project was created in preparation for my Backend Engineer role at IBL Education (now ibl.ai) back in 2023.
It is no longer in active use, and there are no current or future plans to contribute to or develop this repository further.
The code and history remain available for reference. Feel free to browse or fork, but please be aware that:
- Issues and pull requests are disabled
- No support or updates will be provided
Thanks for your interest!
Recursive HTTP is a small DRF application that exposes a REST endpoint, which then calls itself. This repository is primarily for experimentation and exploring Django. Let's get recursive!
All comments, feedback, and contributions are highly appreciated. I always love to hear and learn from the community❤
Learn more about the Django framework from the official documentation.
This is an overview of the minimal setup needed to get started.
- Git
- Docker
- Docker Compose
- Docker Desktop
- IDE/Code/Text editor (PyCharm, VS Code, Vim, etc)
Follow these tutorials on setting up Docker and Compose on either Mac or Linux. I'd recommend Microsoft's documentation to set up Docker on WSL2 if you're on Windows.
The following setup was run on Ubuntu Focal (20.04.6 LTS)
You can clone this repo with the following command.
- Clone the repository
# cd your/desired/target/dir
$ git clone git@github.com:apexDev37/recursive-http.git
$ cd recursive-http
This will clone the repository to a target dir on your host machine and navigate into its root dir.
Before running your application with Compose, configure your environment variables in the ./.envs/
directory. Example env
files are provided to configure the following instances: Django and Postgres. You can create the required env
files with the following code snippet.
- Create env files
# ensure you're in the project's root
$ for file in .envs/*.example; do cp "$file" "${file%.example}"; done
$ cd .envs/
This will loop through all the files in the .envs/ directory that end with .example and create new files without the
.example
extension (ie,django.env.example
->django.env
).
Note: After the
env
files are created, replace the placeholders in the files with your own values specific to your Django application and Postgres container.
You're all set to run your Django application. Spin up your Django and Postgres instances with the following command.
- Spin up containers
$ docker compose down
$ docker compose up -d
This will create and start the Django and Postgres instances in the same network defined in the
compose
file.
Once the containers have been created and started, you can access the application at http://localhost:8000
To make a repository open source, you must license it so that others may freely use, modify, and distribute the software. Using the MIT license, this project ensures this. The full original text version of the license may be seen here. To apply the right to your repository, follow the procedures.