Skip to content

dorasun/bujo-online

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Online Bullet Journal

Overview

Bullet journals (bujo) have recently become a popular phenomenon, a way to get organized but also to express yourself. People use them as sketch books, diaries, to-do lists, and more. A quick search for bujo on Instagram reveals how diverse and widespread they have become. You can read more about bullet journals here: bulletjournal.com

For those of us who are not naturally organized, it may be difficult to adjust and update a bujo on the daily. By making a digital version, users can be reminded to use their journals with the added convenience of being having a virtual journal: no need to buy or maintain a physical journal, integration with other useful tools like Google Calendar, and daily notifications to keep you accountable.

For this project, a complete virtual bullet journal is out of scope, but I will be attempting a prototype of one.

Data Model

This application will store Users and their Pages, which will in turn contain Tasks, Events, and Notes:

  • users can have multiple page (via embedding) and a choice of theme
  • each page can have multiple items (by embedding)

An Example User:

{
  username: "billjoebujo",
  hash: // a password hash,
  pages: [Page], // an array of Page documents
  theme1: Boolean,  //themes are Booleans to better work with Handlebars
  theme2: Boolean 
}

An Example Page with Example Embedded Items:

{
  title: String
  tasks: [
      {content: "Plan vacation for summer", incomplete: true, inprog: false, completed: false}
      {content: "Visit Ashley", incomplete: false, inprog: true, completed: true}
  ],
  events: [
      "May 3rd: 5th anniversary"
  ], 
  notes: [
      "Noticed more beetles this year in the garden"
  ]
}

This is the full schema, feel free to hit history to see how much it has changed.

Original Wireframes - Out of Date

/ - page for navigation

index view

/year - page for showing a year view

year view

/year/month - page for showing a month view

month view

/year/month/week - page for showing a week view

day view

Site Map - Out of Date

site map

User Stories or Use Cases

  1. as non-registered user, I can register a new account with the site
  2. as a user, I can log in to the site
  3. as a user, I can choose a theme for my site that suits my tastes
  4. as a user, I can add new note pages
  5. as a user, I can add tasks, events, and notes to each of my pages
  6. as a user, I can update my tasks to keep track of my progress

Research Topics

  • (5 points) Integrate user authentication
    • I'm going to be using passport for user authentication
  • (3 points) Use a CSS framework throughout my site
    • I'm going to create several Bootstrap themes and allow users to choose between theme
    • My Bootstrap themes will have some customization and will be minified

8 points total out of 8 required points

Created an Express application with Handlebars as my templating library.

Annotations / References Used

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published