This is a todo list web application with basic features of most web apps, i.e., accounts/login, API, and interactive UI. To do this task, you will need:
Try it out by installing the requirements (the following commands work only with Python 3.8 and higher, due to Django 4):
pip install -r requirements.txt
Create a database schema:
python manage.py migrate
And then start the server (default is http://localhost:8000):
python manage.py runserver
Now you can browse the API or start on the landing page.
Create a Dockerfile
for the ToDo app:
- Fork this repository.
- ToDo app should start inside a container without an error.
Dockerfile
should contain the build stage and run stage.- Add
ARG
as Python base image version inDockerfile
. - Execute database migration as
RUN
instruction. - Add the
ENV PYTHONUNBUFFERED=1
variable to optimize the Python app for Docker (writing logs directly tostdout
andstderr
without buffering in the app process memory. runserver
should be followed by the0.0.0.0:8080
parameter to start the Django server properly.- Build an image and name it
todoapp
. - The image should be pushed to your personal Docker Hub account into the
todoapp
repository with the1.0.0
tag (todoapp:1.0.0
). README.md
should contain a link to your personal Docker Hub repository win an app image.README.md
should contain all the instructions for building and running the container.README.md
should contain instructions on accessing the application via a browser.- Create PR with your changes and attach it for validation on a platform.