diff --git a/.gitignore b/.gitignore
index 45f1ece..172373f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -139,6 +139,7 @@ dmypy.json
# Cython debug symbols
cython_debug/
+.idea/
.idea/.gitignore
.idea/dictionaries
.idea/inspectionProfiles/
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/watcherTasks.xml b/.idea/watcherTasks.xml
deleted file mode 100644
index 902e9bf..0000000
--- a/.idea/watcherTasks.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..899fcb5
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,92 @@
+# Contributing
+
+When contributing to this repository, please first discuss the change you wish to make via issue,
+email, or any other method with the owners of this repository before making a change.
+
+Please note we have a code of conduct, please follow it in all your interactions with the project.
+
+## Pull Request Process
+
+1. Ensure any install or build dependencies are removed before the end of the layer when doing a
+ build.
+2. Update the README.md with details of changes to the interface, this includes new environment
+ variables, exposed ports, useful file locations and container parameters.
+3. Increase the version numbers in any examples files and the README.md to the new version that this
+ Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
+4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
+ do not have permission to do that, you may request the second reviewer to merge it for you.
+
+## Code of Conduct
+
+### Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of experience,
+nationality, personal appearance, race, religion, or sexual identity and
+orientation.
+
+### Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints and experiences
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+- The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+- Trolling, insulting/derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+- Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+### Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+### Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+### Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at [ruidy.nemausat@gmail.com]. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+### Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at [http://contributor-covenant.org/version/1/4][version]
+
+[homepage]: http://contributor-covenant.org
+[version]: http://contributor-covenant.org/version/1/4/
\ No newline at end of file
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..93a232d
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,21 @@
+# MIT License
+
+Copyright (c) [2020] [Ruidy]
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
index c2f73ff..413d67b 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,92 @@
-# Python GraphQL API
+# ๐ Python GraphQL API
-Python GraphQL API template application
+Python GraphQL API template application.
-## Built with
+It's a multi user TODO list application with a clean architecture implementation.
-- [FastAPI](https://fastapi.tiangolo.com/)
-- [Graphene](https://graphene-python.org/)
+## ๐ Getting Started
+These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
+
+### ๐ผ Prerequisites
+
+You need:
+- `Python 3` installed on your local machine. You will find installation steps for your platform on the
+ python [official website](https://www.python.org/downloads/).
+- I recommend `pipenv` for virtual environment setup.
+
+### ๐ฅ Installing
+
+Clone the project.
+
+Create a virtual environment and install dependencies with:
+```shell script
+pipenv install
+```
+
+Activate the virtual environment with:
+```shell script
+pipenv shell
+```
+
+Then launch the development server using:
+```shell script
+uvicorn app.main:app --reload
+```
+The development server and GraphiQL API explorer are available on http://0.0.0.0:8000.
+
+๐ Enjoy!
+
+## ๐งช Running the tests (Under construction)
+
+Explain how to run the automated tests for this system
+
+### Break down into end to end tests
+
+Explain what these tests test and why
+
+```shell script
+Give an example
+```
+
+### ๐ And coding style tests
+
+Coding style is enforced using black and isort.
+
+```shell script
+isort .
+black .
+```
+
+## โ๏ธ Deployment
+
+Add additional notes about how to deploy this on a live system
+
+## ๐ Built with
+
+- [FastAPI](https://fastapi.tiangolo.com/) - FastAPI framework, high performance, easy to learn, fast to code, ready for production
+- [Graphene](https://graphene-python.org/) - GraphQL in Python Made Easy
+
+## ๐ฉโ๐ป Contributing
+
+Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
+
+## ๐ Versioning
+
+We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/rjNemo/project/tags).
+
+## โ๏ธ Authors
+
+- **Ruidy** - _Initial work_ - [Ruidy](https://github.com/rjNemo)
+
+See also the list of [contributors](https://github.com/rjNemo/project/contributors) who participated in this project.
+
+## ๐ฉโโ๏ธ License
+
+This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
+
+## ๐ค Acknowledgments
+
+- Hat tip to anyone whose code was used
+- Inspiration
+- _etc._
diff --git a/app/schema/types/todo.py b/app/schema/types/todo.py
index e3d5cc8..15fe681 100644
--- a/app/schema/types/todo.py
+++ b/app/schema/types/todo.py
@@ -7,7 +7,7 @@ class TodoType(graphene.ObjectType):
"""Todo Object Type"""
todo_id = graphene.String()
- title = graphene.String(default_value="")
+ title = graphene.String()
is_done = graphene.Boolean(default_value=False)
@@ -15,8 +15,8 @@ class TodoInputType(graphene.InputObjectType):
"""Todo Input Object"""
todo_id = graphene.String()
- title = graphene.String(default_value="")
- is_done = graphene.Boolean(default_value=False)
+ title = graphene.String()
+ is_done = graphene.Boolean()
class TodoResponseField(graphene.ObjectType):