Django Class Based View Todo App
A simple todo app project with class based view for learning
Overview
- Overview
- Demo
- Features
- Setup
- Getting ready
- options
- Reformat and check
- Database schema
- Todo
- Bugs or Opinion
Demo
This is a brief demo of the functionality of the project
Features
- Django LTS
- Class Based
- User authentication
- Black
- Flake8
- Responsive Design
- Bootstrap5
Setup
To get this repository, run the following command inside your git enabled terminal
git clone https://github.com/alibigdeli/Django-CBV-TodoApp
Getting ready
Create an enviroment in order to keep the repo dependencies seperated from your local machine.
python -m venv venv
Make sure to install the dependencies of the project through the requirements.txt file.
pip install -r requirements.txt
Once you have installed django and other packages, go to the cloned repo directory and run the following command
python manage.py makemigrations
This will create all the migrations file (database migrations) required to run this App.
Now, to apply this migrations run the following command
python manage.py migrate
options
Project it self has the user creation form but still in order to use the admin you need to create a super user.you can use the createsuperuser option to make a super user.
python manage.py createsuperuser
And lastly let's make the App run. We just need to start the server now and then we can start using our simple todo App. Start the server by following command
python manage.py runserver
Once the server is up and running, head over to http://127.0.0.1:8000 for the App.
Reformat and check
If you want your code to be check by pep8 and all the guide lines, there are two packages added to requirements in order to check and reformat code. you can use it by this command:
black -l 79 . && flake8
Database schema
A simple view of the project model schema.
Todo
- leave comments for codes
- add unit tests
- add heroku config files
- complete the documentation
- create a video tutorial
Bugs or Opinion
Feel free to let me know if there are any problems or any request you have for this repo.