Code Monkey home page Code Monkey logo

developers-notebook-symfony's People

Contributors

eiskalteschatten avatar

Watchers

 avatar

developers-notebook-symfony's Issues

Sorting

To dos, bookmarks, issues, pages in the Journal, Notebook and Code Cache, etc should be sortable by date modified, name, etc.

Console

Add "Console" support to show all activity going on in Developer's Notebook. This shouldn't replace the message center, but should compliment it and serve as the only form of notification on pages such as those with the three column editor.

  • Contains a notification badge on the tab when something changes
  • Saved in the session, not persistently in the database

Frontend (part of website before login)

The Frontend should be built so that it includes at least a single nice information page with a link to the login (or with the login form itself).

  • Homepage
  • About page

Select more than one row

More than one row (page, to do, bookmark, etc) should be selectable so that you can drag and drop more than one at a time, delete them, etc.

Colorful Labels and All Labels Page

Labels should be colorful so that they are easy to see. They should be managed on an "all labels" page found in the dropdown menu with Settings and Account as well as on the single labels page.

Shown where:

  • Issues
  • To dos
  • Bookmarks
  • Single label page
  • All labels page
  • Single project page

Editable:

  • Single label page
  • All labels page

Keyboard Shortcuts

Keyboard shortcuts should work on pages with features (such as Ctrl/CMD S for saving). These should correlate with the commands in the command line.

Command Line

Every major button should have a command equivalent which the developer can type into the command box (which is also the search box?).

Project Sorting

Projects should be sortable by name, date modified, date created, completed/not completed, etc.

Issues

Create Issues page. This should be a simple "ticket" system developers can use to keep track of their own issues (similar to this GitHub section).

Issues can be added to Projects and connected to To Dos.

  • Title
  • Description
  • Labels
  • Due Date
  • Date Planned
  • Connected to dos
  • Finish to dos autocomplete
  • Style to dos autocomplete
  • Multiple to dos (comma separated)

Single Project Page

Clicking on a project will show all related information to that project (achieved via a slug in the URL)

Content should be loaded from each section of the application:

  • Journal
  • Issues
  • To Dos
  • Code Cache
  • Notes
  • Bookmarks

Content should be clickable and take the user to the correct section of the shop with the correct part pre-selected (achieved via a parameter read by Javascript which will automatically select the right item):

  • Journal
  • Issues
  • To Dos
  • Code Cache
  • Notes
  • Bookmarks

Bookmarks

Bookmarks are nothing more than a place to store websites. These can be added to folders and Projects.

Account

There should be an account page to allow the user to change the following:

  • Account password verification before anything can be changed
  • Username
  • Email address
  • Password

Pagination

Pagination should be added to:

  • Editor pages
  • Projects
  • To dos
  • Bookmarks
  • Issues

Markdown

Create Markdown support for Journal and Notes sections.

Projects

Projects are a means of organizing everything else in Developer's Notebook. They are site-wide.

On the projects page, developers should be able to click on a project and see an overview of all sections with data attached to the project (To Dos, Notes, Code Cache, Issues, Bookmarks, etc).

  • Add new projects
  • Show all projects on the project overview page
  • Automatically hide completed projects, but with an option to show them
  • A checkbox should set whether the project is complete or not
  • Clicking on a project will show all related information to that project (achieved via a slug in the URL)
  • Delete projects (but not a project's contents from other parts of the site)
  • Projects should work on all Editor pages (via drag & drop and clicking on them should show only pages belonging to them)

Connect to dos with issues

Build a mechanism for each to do in the to do section for connecting to dos with issues. There should be a text field with auto complete that automatically shows issues when you start typing.

Logo

A logo is missing. It should also be used as a favicon.

Completing a project doesn't mark everything as complete

When a project is marked as complete, all to dos and issues belonging to the project should also be marked as complete.

The user should be asked if they want all content to also be marked as complete. If so, a warning should be shown before setting everything as complete as undoing that will no be possible unless the user goes through and unchecks each completed to do.

To be marked complete:

  • To dos
  • Issues

To Dos

To Dos can be added to folders and Projects. Each folder/project/list of to dos will have an archive button that will show completed to dos as well as when they were completed.

Parts

  • Due date
  • Planned date to be worked on
  • Priority
  • Lists/folders
  • Date completed (automatically set when set as finished)

Left to do (22 September 2015)

  • Save the to do being edited
  • Toggle is completed
  • Show and hide completed to dos
  • Style to do rows with priority, due date, date planned, and date completed
  • Style date picker
  • DatePicker doesn't work when creating a new to do
  • The to dos page has an extra drop shadow on the bottom of it caused by the date picker that needs to be removed

Ajax Loading Spinner

Show an Ajax loading screen or working indicator when an Ajax transaction takes longer than a couple of seconds.

  • Version used "locally" for actions done in the background
  • General version for actions where placing a local one is difficult

Locations:

  • Issues (creating, saving, completing, deleting, moving to folders, moving to projects)
  • Issues single page (saving, completing, deleting)
  • To dos (creating, saving, completing, deleting, moving to folders, moving to projects)
  • Bookmarks (creating, saving, deleting, moving to folders, moving to projects)
  • Journal (creating, saving, deleting, saving settings, moving to folders, moving to projects)
  • Code cache (creating, saving, deleting, saving settings, moving to folders, moving to projects)
  • Notes (creating, saving, deleting, saving settings, moving to folders, moving to projects)
  • Creating folders and removing folders
  • Projects (creating, completing, deleting)
  • Projects single (completing, deleting, renaming)
  • Saving settings on settings page
  • Check account password
  • Saving account changes on account page

Collapsable sections

Make editor Projects, Folders, etc sections collapsable. Should be saved per editor in the database (but not show up on the universal settings page).

Remember Me

Users should be able to check a box when logging in that remembers them so they don't have to login again.

Search

Absolutely everything should be searchable by typing a query in the search box. The results page should be sorted by section (Projects, To Dos, Journal, Code Cache, etc).

This should just be a basic search that queries the database directly. Indexing can come later.

Code Refactoring

General code refactoring to see what could be made more abstract and more efficient.

Frontend

  • Javascript should be consolidated between to dos and bookmarks
  • All Javascript that adds a new element to the page should clone an existing element rather than reconstruct it in Javascript

Backend

  • Folders should get their own controller for creating and removing
  • A service should be created to handle moving items to folder and projects
  • Controllers should be reduced in size

Problem when removing all to dos or bookmarks

When all to dos or bookmarks are removed, you can no longer add new items until the page has been reloaded. Cause: the Javascript no longer has any rows to clone.

Solution: always include the "to-be-cloned" row which is added manually to the array in the controller with a specific name. This name is checked for in the frontend and if it matches, the "to-be-cloned" CSS class is added to it.

Journal

Once the Code Cache is finished, create Journal section based off of the Code Cache.

The Journal section should also have a calender of some sort and the date created should play an important role (sorted by date created rather than date modified).

Default syntax: "text"

  • Journal pages should be sorted by date created rather than date modified by default
  • Date created should be shown in preview rather than date modified
  • Years should be shown like folders

Settings - Editor settings

There should be a universal Settings page that allows users to change their settings.

  • Editor Settings

Notebook Homepage

The Notebook Homepage (home icon) should be a page with all of the relevant information for today including:

  • To dos with a due date or a planned date that is close to or past the current date
  • Recently added/edited Bookmarks, Notes, Journal entries, pages in the Code Cache, to dos, issues
  • Recently worked on Projects
  • Current weather - set a postal code

In all cases, "recent" means edited in the past 7 days. Everything should be limited to the last 5 items.

Rethink Design - 0.1

Design changes for version 0.1:

In some parts of the website, the frontend design was put together to be functional at first. It should be rethought and redone in some places to make it nicer and easier to use. This applies to the following sections and pages:

  • Projects overview
  • Single project view - links and buttons on the bottom of the left column should be redesigned to look better
  • The years section of the journal should be moved below the folders
  • Add more color - selected elements should be blue with white text (except when in edit mode); little elements should get a little border color; there should be less links and more colorful buttons for important functions (green?)
  • Replace JavaScript confirm prompts with custom popups

Notebook

Once the Code Cache is finished, create Notebook section based off of the Code Cache.

Default syntax: "text"

Footer Links

The following links should be added to the footer of every page (next to the copyright):

  • GitHub page
  • File bug report (link to Github Issues page)
  • About Developer's Notebook
  • Copyright should be linked to http://www.alexseifert.com

Some bookmarks and to dos won't drag and drop

Some bookmarks won't drag and drop into projects or folders (i.e. the selected one in the screenshot below):

screen shot 2015-09-22 at 23 10 33

This problem also exists for to dos. It seems to be an issue when the length of the draggable element is too long.

Archives Section

An Archives section similar to the Projects section in that it has completed/archived items from every section (Projects, To Dos, etc).

Sections:

  • Projects
  • To dos
  • Issues

Features:

  • Browser by date completed (date range)

Rename Projects

Projects should only be renamable on the single project page.

Save editor settings in the database

Editor settings should be saved in the database for each user. That includes the settings for Search & Replace.

  1. Create table in the database.
  2. Create settings controller.
  3. Connect the pieces.
  • Saving works now as long as there are no settings for the current user in the database already. -> Bug to be fixed.
  • Defaults still need to be read from the database upon page load and the settings in the settings popups set (checkboxes set, selects selected correctly, etc).
  • Defaults need to be applied to the editor upon page load
  • Settings need to be applied to the editor when saving

Projects Page - Row should be clickable

The entire row for a project should be clickable instead of just the text (name and date). The checkbox for marking a project complete and the Delete button should not change the page though.

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.