/Never-Forget

Never Forget, a Remember the Milk clone, is an app designed to sort and organize your to-do tasks.

Primary LanguageJavaScript

Never Forget

Never Forget logo


Never Forget is an organization focused to-do list tracker web app that allows users to manage their day-to-day lives. Never Forget is a clone that uses Remember the Milk as inpiration.

Demo

Here is a working live demo: https://app-never-forget.herokuapp.com

Site

Landing Page

User Authentication

Login

Signup

Application

Task List

Upon load, users will see all tasks displayed as a list. Users can add new tasks with the input at the top of the list. Users can also mark tasks as complete with the checkbox.

Task Details

After clicking a specific task, a panel of task details appears. Users can change the properties of their task or delete a task from this panel.

Lists

Users can access the lists that tasks have been organized into from a panel on the left. New lists can be added, list names edited, and lists deleted with all associated tasks from this panel. In list view, a user can see a breakdown of tasks incomplete vs. tasks completed along with the estimated time to complete all incomplete tasks.

Search

Users can use the search bar in the top of the page to search all of their tasks with keywords or phrases

Usage

Development

Want to contribute?

To fix a bug or add a feature, follow these steps:

  • Fork the repository
  • Create a new branch with git checkout -b feature-branch-name
  • Make appropriate changes to the files and push back to github
  • Create a Pull Request
    • Use a clear and descriptive title for the issue to identify the suggestion.
    • Include any relevant issue numbers in the PR body, not the title.
    • Provide a comprehensive description of all changes made.

Setting Up and Starting a Local Server

  1. Download code and npm install to install all node dependencies
  2. Create a psql db user with createdb privileges. The default is never_forget_app with a password of password.
    • Duplicate the .env.example for the dotenv package.
    • Update the following variables:
      • PORT the port that the server will listen to, 8080 by default
      • DB_USERNAME the user of the created psql db user
      • DB_PASSWORD the password for the psql db user
      • SESSION_SECRET a session secret key for encrypting session id's in the database
      • All other variables should remain the same
  3. Setup PostgreSQL database
    • Run npx dotenv sequelize db:create
    • Run npx dotenv sequelize db:migrate
    • Run npx dotenv sequelize db:seed:all
  4. Start express server by running npm start in the root project directory
  5. The server will start on http://localhost:8080

Bug / Feature Request

We love squashing bugs! If you find one, let our exterminators know by opening an issue here. Be sure to be clear in the description of the bug (i.e. what was input into the field that caused the bug). Screenshots or recordings greatly help!

If you'd like to request a new feature open up an issue here. This project was created as part of App Academy's coursework, but we love dreaming up of ways to improve our work.

TODOs

  • We'd love to go through and tidy up our code. We know theres several locations we can refactor and leave comments for easier use in the future.

Built With

npm Nodejs html5 CSS
PostgreSQL Sequelize Express Pug
And that's it! We're really proud of our vanilla CSS and vanilla JavaScript AJAX development!

Team

Brandon Perry Dez Adkins Miguel Munoz Sam Stark