An open API service indexing awesome lists of open source software.

https://github.com/tareqwpy/todo-app-cbv

this is a class based view todo app by django framework.
https://github.com/tareqwpy/todo-app-cbv

celery class-based-views django django-project django-rest-framework docker docker-compose postgresql python redis todolist todolist-application

Last synced: 3 months ago
JSON representation

this is a class based view todo app by django framework.

Awesome Lists containing this project

README

        

Todo-App with Class-Bsed-View


This is simple todo-app project with class based view


python
django
djangorest
docker
bootstrap

### Overview

- [Overview](#overview)
- [Features](#features)
- [Setup](#setup)
- [Getting ready](#getting-ready)
- [options](#options)
- [Database schema](#database-schema)
- [Todo](#todo)
- [Bugs or Opinion](#bugs-or-opinion)

### Features

- Bootstrap5
- Django LTS (4.2)
- Responsive Design
- Class Based Views
- Template Based & API Based
- User authentication with JWT
- Email Verification and other features

### Setup

To get this repository, run the following command inside your git enabled terminal

```bash
git clone https://github.com/tareqWpy/Todo-app-cbv.git
```

### Getting ready

#### if you have docker installed, you can use the following commands before starting:

Navigate to your project directory where the docker-compose.yml file exists:

```bash
docker-compose up --build
```

You need to access your backend container's bash:

```bash
docker-compose exec backend bash
```

Then create the database tables:

```bash
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:

```bash
python manage.py migrate
```

For leaving the bash terminal of your backend container:

```bash
exit
```

Then you can read [options](#options) part.

#### if you don't have docker installed, you can use the following commands before starting:

Create an enviroment in order to keep the repo dependencies seperated from your local machine.

```bash
python -m venv venv
```

Make sure to install the dependencies of the project through the requirements.txt file.

```bash
pip install -r requirements.txt
```

Once you have installed django and other packages, go to the cloned repo directory and run the following command:

```bash
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:

```bash
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:

```bash
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:

```bash
python manage.py runserver
```

Once the server is up and running, head over to http://127.0.0.1:8000 for the App.

### Database schema

A simple view of the project model schema.


database schema

### Todo

- [ ] add heroku config files
- [ ] leave comments for codes
- [ ] create a video tutorial or demo
- [ ] complete the documentation

### Bugs or Opinion

Feel free to let me know if there are any problems or any request you have for this repo.