{"id":26397257,"url":"https://github.com/timalexanderandersson/task-reminder","last_synced_at":"2025-03-17T12:17:12.504Z","repository":{"id":255535266,"uuid":"849877383","full_name":"Timalexanderandersson/Task-Reminder","owner":"Timalexanderandersson","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-06T09:30:03.000Z","size":2226,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T10:32:12.313Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Timalexanderandersson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-30T12:35:09.000Z","updated_at":"2025-03-06T09:30:07.000Z","dependencies_parsed_at":"2025-03-06T10:35:52.222Z","dependency_job_id":null,"html_url":"https://github.com/Timalexanderandersson/Task-Reminder","commit_stats":null,"previous_names":["timalexanderandersson/task-reminder"],"tags_count":0,"template":false,"template_full_name":"Code-Institute-Org/ci-full-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timalexanderandersson%2FTask-Reminder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timalexanderandersson%2FTask-Reminder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timalexanderandersson%2FTask-Reminder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timalexanderandersson%2FTask-Reminder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Timalexanderandersson","download_url":"https://codeload.github.com/Timalexanderandersson/Task-Reminder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244031151,"owners_count":20386534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-17T12:17:11.884Z","updated_at":"2025-03-17T12:17:12.487Z","avatar_url":"https://github.com/Timalexanderandersson.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Task Reminder\nThis is Task Reminder. It's designed to help users keeping track of important things that need to get done.\nuser can create tasks, mark tasks as completed, edit the tasks and delete tasks. You need to have an account to use the Task Reminder.\nSo user must create account by register and then have full access to the application.\nThis is a Full Stack project build with the django framework.\n[Task Reminder Here](https://task-reminder-app-0c796f83bbb5.herokuapp.com/)\n![responsive](\u003cassets/readme/Screenshot 2024-10-03 at 19.09.04.png\u003e)\n\n\n## Task Reminder - Table Content\n\n* [Planning and Design](#planning-and-design)\n* [Agile methodology](#agile-methodology)\n* [Wireframes](#wireframes )\n* [Features](#features )\n* [More Features](#more-features )\n* [Libraries](#libraries )\n* [Technical Stack](#technical-stack )\n* [Testing](#testing)\n* [Validation](#validation)\n* [Testing in django](#testing-in-django)\n* [Bugs](#bugs)\n* [Deployment](#deployment)\n* [Credits](#credits)\n* [Acknowledgements](#acknowledgements)\n\n\n\n\n## Planning and Design\n\n### User storys\n\n#### Admin \nAs a **Site Admin** I can **read, delete, update, and create tasks** so that **admin can fix problems**\n\n* Be able to change the task, delete task, update task, create task.\n\n#### Update or delete task \n\n\nAs a **Site user** I can **Modify and delete tasks** so that **user can modify it as wanted**\n\n* User can update the task.\n\n* User can delete tasks.\n\n\n#### Registration for using Task Reminder\n\nAs a **Site User** I can **Start using the Task Reminder** so that **can save the tasks in the list**\n\n- User can register there own account.\n\n- If user is sign in, user can add tasks.\n\n- Own site for log in.\n\n#### Adding task\n\nAs a **Site User** I can **Add tasks to the task list** so that **Be able to remember the task needed to be done**\n\n- User can add task.\n\n- User get a response message when add task\n\n\n## Agile methodology\n\nUsed an agile working method while working on this project. which worked, but first time apply this method on a project.\nIts a good method to use to control that all of the things that need to be in the project actually is done.\nYou get to know where in the project you are.\n\n#### 3 steps when using.\n\n#### To Do\nWhen the user story is created.\n#### In Progress\nWhen the user story is in progress to get done.\n#### Done\nWhen the user story is done.\n\n\u003cdetails\u003e\n\u003csummary\u003eProject Here\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/taskuser_Story.PNG\"\u003e\n\u003c/details\u003e\n\n#### User story information \n\u003cdetails\u003e\n\u003csummary\u003eUser story information\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/info_user_Story.PNG\"\u003e\n\u003c/details\u003e\n\n* With all the acceptance criterias that are needed.\n\n### Diagram Models\n\n\u003cdetails\u003e\n\u003csummary\u003eDiagram models with \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/new_models.PNG\"\u003e\n\n* created with lucid.app\n\u003c/details\u003e\n\n## Wireframes \n\n### display for mobile.\n\u003cdetails\u003e\n\u003csummary\u003eHomepage\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/mobile_index.PNG\"\u003e\n\u003c/details\u003e\n\n- index.html\n\n\u003cdetails\u003e\n\u003csummary\u003eSign in page \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/login_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n- sign in\n\n\u003cdetails\u003e\n\u003csummary\u003eAccount registration \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/registration_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n- Registration \n\n\u003cdetails\u003e\n\u003csummary\u003eContact page \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/contact_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n- contact \n\n\u003cdetails\u003e\n\u003csummary\u003etasks \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/mobil_task_notopen.PNG\"\u003e\n\u003c/details\u003e\n\n- task page \n\n\n\u003cdetails\u003e\n\u003csummary\u003eTask open \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/mopil_open_task.PNG\"\u003e\n\u003c/details\u003e\n\n- task page open\n\n\u003cdetails\u003e\n\u003csummary\u003eAdd a task \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/added_tasks.PNG\"\u003e\n\u003c/details\u003e\n\n- add tasks\n\n### Display for desktop\n\n\u003cdetails\u003e\n\u003csummary\u003eHomepage\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/desk_index.PNG\"\u003e\n\u003c/details\u003e\n\n- index.html\n\n\u003cdetails\u003e\n\u003csummary\u003eSign in page \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/Sign_in_desk.PNG\"\u003e\n\u003c/details\u003e\n\n- sign in \n\n\u003cdetails\u003e\n\u003csummary\u003eSign up page\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/creat_acc_desk.PNG\"\u003e\n\u003c/details\u003e\n\n- sign up\n\n\u003cdetails\u003e\n\u003csummary\u003eContact page\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/contact_desk.PNG\"\u003e\n\u003c/details\u003e\n\n- contact\n\n\u003cdetails\u003e\n\u003csummary\u003eAdd task page\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/add_task_desctop.PNG\"\u003e\n\u003c/details\u003e\n\n- add task\n\n\u003cdetails\u003e\n\u003csummary\u003eEdit task page\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/edit_task_desk.PNG\"\u003e\n\u003c/details\u003e\n\n- edit \n\n\u003cdetails\u003e\n\u003csummary\u003eDelete page \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/delete_task_desk.PNG\"\u003e\n\u003c/details\u003e\n\n- delete\n\n\u003cdetails\u003e\n\u003csummary\u003eOpen task page\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/open_task_desktop.PNG\"\u003e\n\u003c/details\u003e\n\n- open task\n\n\u003cdetails\u003e\n\u003csummary\u003eSign out page\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/sign_out.PNG\"\u003e\n\u003c/details\u003e\n\n- Sign out\n\n## Features\n\n### Navigationbar \n\n\u003cdetails\u003e\n\u003csummary\u003eNavigation bar desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/navbar_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eNavigation bar mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/nav_bar_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* Dropdown link to all pages if under 400px.(with icon from font awesome.)\n* The navbar contains links to contact and sign up, login, and to the homepage.\n* And changes if user is sign in to the website.(logout,contact, and home).\n* responsive.\n\n### Homepage\n\n\u003cdetails\u003e\n\u003csummary\u003eHomepage desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/index_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eHomepage mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/homepage_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* Homepage shows user to register account to get access to the task reminder.\n* show links to login\n* shows link to register\n* Responsive\n\n### Tasks \n\n\u003cdetails\u003e\n\u003csummary\u003etasks desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/logged_in_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003etasks mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/loged_in_user_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* Shows User where to add tasks.\n* User can open there own tasks on the open button.\n* Shows clear text where your new tasks are made.\n* Responsive .\n\n### Edit tasks\n\n\u003cdetails\u003e\n\u003csummary\u003eTasks edit desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/edd_task_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eTasks edit mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/create_task_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* User can add title,description and even time and date for tasks.\n\n### Edit the made tasks\n\n\u003cdetails\u003e\n\u003csummary\u003eTasks edit old task desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/edit_task_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eTasks edit old task mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/edit_task_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* Here user can Edit old tasks.\n* user can choose the completed option in this edit here\n\n### Delete page \n\n\u003cdetails\u003e\n\u003csummary\u003eDelete page desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/delete_task_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eDelete page mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/delete_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* User can choose to delete the task.\n* User can choose to go back to the tasks.\n\n### Sign out page \n\n\u003cdetails\u003e\n\u003csummary\u003esign out desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/sign_out_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003esign out mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/sing_out_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* User can choose the option to sign out \n* User can go back to tasks.\n\n### Sign in page\n\n\u003cdetails\u003e\n\u003csummary\u003esign in desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/login_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003esign in mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/login_mobil_app.PNG\"\u003e\n\u003c/details\u003e\n\n* User can choose the option to sign in. \n* User can go back to register.\n\n\n### View task in list\n\n\u003cdetails\u003e\n\u003csummary\u003eview task desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/view_task_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eview task mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/open_task_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* Here user can see the task that needs to be done\n* Date and time.\n* and options to delete or edit.\n\n### Contact\n\n\u003cdetails\u003e\n\u003csummary\u003eContact desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/contact_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eContact mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/contact_mobil_cool.PNG\"\u003e\n\u003c/details\u003e\n\n* User can send a contact to Task reminder.\n\n### Sign up for account\n\n\u003cdetails\u003e\n\u003csummary\u003eRegister desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/sign_up_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eRegister mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/create_acc_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* User can create account for using the task reminder.\n* or have the option to login if account already made.\n\n### Searchbar\n\n\u003cdetails\u003e\n\u003csummary\u003esearchbar desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/search_bar_desktop.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003esearchbar mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/search_bar.PNG\"\u003e\n\u003c/details\u003e\n\n* User can search for task that exist in the list.\n* error if no task exist of that name.\n* need to fill in something in the search input.\n\n### Footer\n\n\u003cdetails\u003e\n\u003csummary\u003eFooter desktop\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/footer_desk.PNG\"\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eFooter mobile\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/footer_mobil.PNG\"\u003e\n\u003c/details\u003e\n\n* Footer contains copyright Task Remember\n\n\n## More Features\n\n* want to creat tasklist with categorys.\n* when completed task goes into a done category.\n\n## Libraries\n\n* asgiref: Helps Django handle tasks in the background.\n* dj-database-url: Makes it easier to set up the database.\n* Django: The framework used to build the website.\n* gunicorn: Runs the website on a server.\n* psycopg2: Connects the website to a PostgreSQL database.\n* sqlparse: Helps organize and format database queries.\n* whitenoise: Helps the website with static files.\n\n## Technical Stack\nThese are the things used for this project.\n\n* Django - was used as framwork\n* HTML -  Was used for front-end.\n* CSS - Was used to style the site.\n* Bootstrap - Used to style the website.\n* Python - Made to create back-end.\n* Javascript - for interactivity\n* Gitpod - development environment\n* Git - Version control system\n* PostgreSQL - Database management system\n* lucidchar - Creating my models Diagram.\n* Heroku - deploying web applications\n\n## Testing\n\n### Lighthouse\n\n#### Desktop Lighthouse\n\u003cdetails\u003e\n\u003csummary\u003eDesktop results\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/desktop_ligthhouse.PNG\"\u003e\n\u003c/details\u003e\n\n#### Mobile Lighthouse\n\u003cdetails\u003e\n\u003csummary\u003eMobile results\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/Ligthhouse_mobile.PNG\"\u003e\n\u003c/details\u003e\n\n\n\n\n## Validation\n\n### W3C Testing\n\u003cdetails\u003e\n\u003csummary\u003eIndex tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/index_no_warning.PNG\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eContact tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/contect_no_erro.PNG\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003esign in tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/login_no_error.PNG\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eSign up tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/register_django_prob.PNG\"\u003e\n\n*  Django error in register.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eSign out tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/sign_ooouut.PNG\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eTasks tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/tasks_one_error.PNG\"\u003e\n\n* Django problem with error.\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n\u003csummary\u003eedit tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/django_Edit.PNG\"\u003e\n\n\n* django error in edit.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003edelete tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/dele___ok.PNG\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003esuccess page tested tested\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/Done_success.PNG\"\u003e\n\u003c/details\u003e\n\n\n### CSS jigsaw\n\n\u003cdetails\u003e\n\u003csummary\u003eCSS Test\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/css_ok.PNG\"\u003e\n\u003c/details\u003e\n\n\n### jshint Javascript\n\n\u003cdetails\u003e\n\u003csummary\u003eJshint javascript \u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/jshint_javascript.PNG\"\u003e\n\u003c/details\u003e\n\n* Jshint shows one warning that function may lead to confusing semantics, since its inside the loops.\n\n\n### CI Python Linter\n\n\u003cdetails\u003e\n\u003csummary\u003eViews test\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/views_cleeen.PNG\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eModels test\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/models_py.PNG\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eurls test\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/urls_right.PNG\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eforms test\u003c/summary\u003e\n\u003cbr\u003e\n\u003cimg src=\"assets/readme/formmmmmmss.PNG\"\u003e\n\u003c/details\u003e\n\n\n\n## Testing in django \n\n### views\n\n| Status | **Sign Out - Redirect to Homepage** |\n|:------:|:-----------------------------------\n| \u0026check; | When the user logs out, they are redirected to the homepage (status code 302). \n\n| Status | **Sign In - Valid Sign In** |\n|:------:|:----------------------------\n| \u0026check; | When the user enters the correct username and password, they are taken to the task creation page (status code 302). \n\n### Models \n\n\n| Status | **Contact Form - Valid Data** |\n|:------:|:-------------------------------\n| \u0026check; | When the user submits the contact form with valid data, it gets saved. \n\n### Forms\n\n\n| Status | **Post User First - Valid Data** \n|:------:|:----------------------------------\n| \u0026check; | When the user submits the form with all required fields completed, the form is valid.\n\n\n\n## Bugs\n#### No bugs found.\n\n### unsolved bugs\n#### None.\n\n\n## Deployment\n\n### creating repository on github for project\n\n* Sign in to GitHub then go to use https://github.com/Code-Institute-Org/ci-full-template.\n* click to \"use this template\" and Create a new repository.\n* create a repository with name in the Repository name\n* then create Repository \n\n### creating heroku application\n* Sign in to heroku.\n* In the landing page press the dropdown and click on create app.\n* give the application a name, and choose the location(Europe).\n\n### deploy to heroku \n* Go to the settings tab when clicked into your new app.\n* go to the config vars section.\n* add a key of DISABLE_COLLECTSTATIC and value of 1,so heroku dont upload staticfiles during build.\n* install gunicorn in the command.\n* install the requirements.txt.\n* Create a Procfile.\n* and put in '.herokuapp.com' to ALLOWED_HOSTS.\n* In heroku go to deploy scroll down to \"Manual deploy\" and press the button Deploy Branch.\n\n## Credits\n### Help from these websites\nhttps://www.pythontutorial.net/django-tutorial/django-updateview/ \nhttps://dev.to/nuh/django-loginview-and-flash-messages-4k9k\nhttps://www.w3schools.com/\nhttps://getbootstrap.com/docs/5.3/components/alerts/#examples\nhttps://docs.djangoproject.com/en/5.1/\nhttps://www.youtube.com/watch?v=WuyKxdLcw3w\u0026t=238s\nhttps://stackoverflow.com/questions/1042900/django-unit-testing-with-date-time-based-objects\nhttps://docs.djangoproject.com/en/5.1/topics/auth/default/#django.contrib.auth.models.User\nhttps://medium.com/@buczynski.rafal/navigation-through-django-views-testing-907091f97638\nhttps://dev.to/ifihan/testing-in-django-26e5\nhttps://medium.com/@buczynski.rafal/navigation-through-django-views-testing-907091f97638\nhttps://fontawesome.com/\nhttps://getbootstrap.com/\nhttps://balsamiq.com/\nhttps://coolors.co/ for the colors in the website.\n\n## Acknowledgements\n* I would like to thank my mentor, Spence for help with guidance with my project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimalexanderandersson%2Ftask-reminder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimalexanderandersson%2Ftask-reminder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimalexanderandersson%2Ftask-reminder/lists"}