Giter Club home page Giter Club logo

task-manager-pp5's Introduction

Task Manager

Project Portfolio 5

Frontend: Link to the deployed Heroku app

Frontend: Link to the GitHub repository

Backend: Link to the deployed Heroku app

Backend: Link to the GitHub repository

Task Manager application

About the website

The task manager application was develop to provide the user with a tool to help him manage his daily tasks easily and quickly.

User experience

With a clean, simple and intuitive interface to easily guide the user, the site allows the user to create tasks, edit tasks, check his list of tasks and delete tasks.

The user stories that were used to develop the site are listed below:

  • US 01 Add Task As a desktop and mobile user, I want to create a task so that I can have a list of tasks.
  • US #02 Update a Task As a desktop and mobile user, I want to have an option to update a task so that I can change requirements if needed.
  • US #03 delete a task As a desktop and mobile user, I want to have an option to delete a task so that I can remove unnecessary tasks from my list.
  • US #04 Filter Tasks As a desktop and mobile user, I want to filter tasks by status so that I can easily view what's completed and in progress.
  • US #05 View List of Tasks As a desktop and mobile user, I want to view the list of tasks so that I can easily see all tasks on the list.
  • US #06 Register As a desktop and mobile user, I want to have an option to register so that I can have an account in the task manager.
  • US #07 Login As a desktop and mobile user, I want to have an option to login so that I can have access to my account.
  • US #08 Update Account Details As a desktop and mobile user, I want to have an option to update details so that I can keep my details up to date in my account.
  • US #09 Delete Account As a desktop and mobile user, I want to have an option to delete account so that I can close my account if needed/wanted.

Features

This website contains the following features/pages that were developed considering the user's stories listed in the section User experience above, they should all have responsive behavior allowing navigation on any device. Not all features were developed. The agile MoSCoW method was used to define which of the features would be implemented.

  • F#01 add task (using US#01) The add task button is the main feature of the tasks manager, and it will allow users to list their tasks to be done. When clicking on the add task button a modal window open where the user can add
  • F#02 list of tasks (using US#02, US#03, US#05) The list of tasks displays all tasks created on the app manager by that user, and has 3 main functions: view the list of items, update an item and delete an item. The user is presented with a list of items that contain the button update - that will open a modal window that allows the users to update the task details and save, and the button delete - that after clicked will immediately delete the task from the list.
  • F#03 filter of tasks (using US#04) The filter of tasks is just a filter that has 2 options: completed and incomplete. By clicking on the options the list is automatically updated to display the right tasks.
  • F#04 register & login (using US#06, US#07) When entering the app, the user is presented with 2 options: register & login. By clicking on register the user will view a form to input all details needed to create an account. By clicking on login the user will be redirected to the login form, where he/she will input login and password to access the app.
  • F#05 update account (using US#08) On the account details page the user has the option to update the account details by simply updating the content on the input fields and clicking save.
  • F#06 delete account (using US#09) On the account details page the user has the option to delete the account by simply clicking on the delete button.

Features to be implemented

Many features have not been implemented due to reasons, like the authentication part of the website which was developed but broke the application so it had to be removed. Also, a new module with a contact form should be implemented in a future release, together with the authentication part.

Design

The focus was on providing a clean intuitive interface making it clear for the user where his input was requested.

Technologies

  • HTML
  • JSX
  • CSS
  • Python
  • JavaScript

Frameworks, Programs and code websites references used during the implementation

Frameworks

  • Git was used for version control through Gitpod terminal, using CLI git commands to commit and push to GitHub
  • GitHub is used as the repository for the entire project
  • Heroku was used to deploy the application as it runs on the terminal
  • Bootstrap was used for design, content positioning and styling.
  • Reactstrap together with bootstrap was used for design, content positioning and styling.
  • Django Rest Framework was the main backend development framework.
  • React.js was used to develop the front end of the web application.

Code

  • During the implementation of the website, it was made necessary to look for examples and of code and different ways to achieve the required goal. Therefore a couple of community websites were used, such as the W3C Schools website that was extensively used to check the syntax and code examples

  • Django Rest Framework documentation was often consulted to check code syntax and other functions.

  • Stack Overflow was also referenced to check Python function methods and iteration methods and to help understand and fix issues witht he code

  • And of course, the Code Institute LMS was extensively used especially the Codestar blog walkthrough project.

  • With the help from Real Python, Digital Ocean and SAASitive I was able to build most of the features of the website.

Testing

The testing plan was based on the features described for the website. Testing

Deployment

The project was deployed using the Heroku mock terminal from Code Institue. The steps for deployment are as follows:

  • Create a new repository in GitHub
  • Create new workspace by clicking 'Gitpod' button.
  • Once the workspace has loaded, run terminal command npx create-react-app . --use-npm to create React app.
  • Once the app is installed, run terminal command npm start to check app is working. Browser should open with the spinning React logo on a dark blue background.
  • Confirm the changes have rendered in the browser preview then add, commit and push changes.
  • Log in to Heroku and create new app".
  • Click on the 'Deploy' tab and go to 'Deployment Method'. Click on GitHub.
  • Go to 'Manual Deploy' section and click 'Deploy Branch'. Click on 'build logs' to monitor build and ensure deployment is successful. Build is complete when log states 'Build succeeded!'.
  • Click 'Open App' button to view newly deployed app.

task-manager-pp5's People

Contributors

ujuniordev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.