GithubHelp home page GithubHelp logo

c3projects--tasklist's Introduction

Task List

Elsa Moluf & Brittany L. Walentin

We are going to use our new found knowledge of databases and web development to create a task list, powered by Sinatra and SQLite. This project will enable us to keep track of and persist, add, edit and remove tasks.

Baseline

Once you've achieved this baseline, take a walk around the room and see if you can answer questions or help other teams.

This project...

  • require SQLite to be installed on everyone's computers: $ brew install sqlite
  • needs a Gemfile so others are aware of its dependencies
  • needs a config.ru file; look at the structure in the SinatraSite project for an example
  • needs a database schema suitable for storing and organizing "tasks"
  • needs a database setup script that creates the necessary table(s) for the project.
  • should be started with rackup on the command line

Breakfast

  • Create a class that will keep track of the low-level database interaction. The responsibility of this class is to create a database connection and....

  • Create a class that will inherit behavior from the database interaction class that will be responsible for all of the task record persistence. This will include inserting new tasks into the database.

    Each task record will include:

    • Self-incrementing identifier
    • Name (required)
    • Description (optional)
    • Completed date (optional)
  • The home page (route /) of your Sinatra site should show the list of all of the tasks currently in the database.

  • Be able to create a new task:

    • The home page should contain a link to Add a new task. This will give the user a form to fill out with the appropriate task fields.
    • After the new task is added, the site should take the user back to the home page which displays the full list of tasks. The new task that was just added should be included in the full list of tasks.

Lunch

  • Add the ability for the user to mark a task complete

    • Update the list of tasks on the home page to indicate which tasks are complete
    • Update the database interaction class to update a task's completed date
    • Use a form with checkboxes or radio buttons to allow a user to mark a task complete
  • Add the ability for the user to delete an existing task, whether it is complete or not

    • Update the list of tasks on the home page to include a delete link
    • Before the system deletes the task, ask the user for confirmation
    • Update your database interaction class to delete from the database

Dinner

  • Add the ability for the user to edit the task
    • Re-use the form that was used for the Add task functionality
    • Update the list of tasks on the home page to include an edit link for each task
    • This includes updating your database interaction class to update the database

c3projects--tasklist's People

Contributors

brittinator avatar elsatko avatar jnf avatar

Watchers

James Cloos 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.