Skip to content

harrisonde/chalkbox

Repository files navigation

#Chalkbox Chalkbox image

##Table of Contents

  • Description
  • Expectation
  • What is in this repository might I ask?
  • Features
    • Project
    • User
    • Validation
  • Future (Extra) Features
  • Routes
  • Packages
  • User's Guide
    • Getting Started
      • Register or Signin
    • User Interface
      • Projects
      • New Project
      • Manage a Project

##Description of Chalkbox Chalkbox makes tracking time really simple. Manage your projects like a web artisan - not an accountant.

##Expectation Expect to experience the advanced functions needed to build a web application in the Laravel framework.

##What is in this repository might I ask? Well, yes - you absolutely should ask. This repository holds one Laravel applicaion, Chalkbox, which includes:

  • Super clean user interface
  • Track project time
  • Create project notes
  • Projects News Feed
  • CRUDy management

##Features ###Project

  • Create project

  • Update project

  • Delete project

  • Display all projects

  • Display projects detail

  • Search for projects

  • Add time (+start timer button)

  • Update time (stop timer button)

###User

  • New user registration

  • Send welcome email after new user registration

  • Automatically authenticate and sign-in after new user registration

  • Authentication - sign-in

  • Authentication - sign-out

  • Authentication - Password Remider

###Validation

  • Error messages

  • Success messages

##Future (Extra) Features

  • Create Custom Facade for Timer (Stopwatch)

  • Create Seeder(s)

  • Project start date

  • Project end date

  • Project status

  • Project Description

  • Project Notes

  • Project Total Project Hours

  • Share Project timeline

  • User Groups (Roles)

  • RESTful API (notes) resource::edit/store

  • AJAX (notes) remove page refresh for pulling note content

  • Expand RESTful API (include project)

  • Graphs

  • Email

  • Export

  • RSS Feed

##Routes Chalkbox listens at the following routes and will "catch" the following HTTP verbs:

Domain URI Name Action Before Filters After Filters
GET HEAD / Closure
GET HEAD password password.index RemindersController@index
GET HEAD password/create password.create RemindersController@create
POST password password.store RemindersController@store
GET HEAD password/{password} password.show RemindersController@show
GET HEAD password/{password}/edit password.edit RemindersController@edit
PUT password/{password} password.update RemindersController@update
PATCH password/{password} RemindersController@update
DELETE password/{password} password.destroy RemindersController@destroy
GET HEAD password/reset password.reset.index RemindersController@index
GET HEAD password/reset/create password.reset.create RemindersController@create
POST password/reset password.reset.store RemindersController@store
GET HEAD password/reset/{reset} password.reset.show RemindersController@show
GET HEAD password/reset/{reset}/edit password.reset.edit RemindersController@edit
PUT password/reset/{reset} password.reset.update RemindersController@update
PATCH password/reset/{reset} RemindersController@update
DELETE password/reset/{reset} password.reset.destroy RemindersController@destroy
GET HEAD projects/{id}/edit/settings ProjectController@editSetting
POST projects/{id}/edit/name ProjectController@editSettingName
GET HEAD projects projects.index ProjectController@index
GET HEAD projects/create projects.create ProjectController@create
POST projects projects.store ProjectController@store
GET HEAD projects/{projects} projects.show ProjectController@show
GET HEAD projects/{projects}/edit projects.edit ProjectController@edit
PUT projects/{projects} projects.update ProjectController@update
PATCH projects/{projects} ProjectController@update
DELETE projects/{projects} projects.destroy ProjectController@destroy
GET HEAD register register.index RegisterController@index
GET HEAD register/create register.create RegisterController@create
POST register register.store RegisterController@store
GET HEAD register/{register} register.show RegisterController@show
GET HEAD register/{register}/edit register.edit RegisterController@edit
PUT register/{register} register.update RegisterController@update
PATCH register/{register} RegisterController@update
DELETE register/{register} register.destroy RegisterController@destroy
GET HEAD search search.index SearchController@index
GET HEAD search/create search.create SearchController@create
POST search search.store SearchController@store
GET HEAD search/{search} search.show SearchController@show
GET HEAD search/{search}/edit search.edit SearchController@edit
PUT search/{search} search.update SearchController@update
PATCH search/{search} SearchController@update
DELETE search/{search} search.destroy SearchController@destroy
GET HEAD signin signin.index SignInController@index
GET HEAD signin/create signin.create SignInController@create
POST signin signin.store SignInController@store
GET HEAD signin/{signin} signin.show SignInController@show
GET HEAD signin/{signin}/edit signin.edit SignInController@edit
PUT signin/{signin} signin.update SignInController@update
PATCH signin/{signin} SignInController@update
DELETE signin/{signin} signin.destroy SignInController@destroy
GET HEAD signout signout.index SignOutController@index
GET HEAD signout/create signout.create SignOutController@create
POST signout signout.store SignOutController@store
GET HEAD signout/{signout} signout.show SignOutController@show
GET HEAD signout/{signout}/edit signout.edit SignOutController@edit
PUT signout/{signout} signout.update SignOutController@update
PATCH signout/{signout} SignOutController@update
DELETE signout/{signout} signout.destroy SignOutController@destroy
GET HEAD system_default_styles Closure
GET HEAD timer timer.index TimerController@index
GET HEAD timer/create timer.create TimerController@create
POST timer timer.store TimerController@store
GET HEAD timer/{timer} timer.show TimerController@show
GET HEAD timer/{timer}/edit timer.edit TimerController@edit
PUT timer/{timer} timer.update TimerController@update
PATCH timer/{timer} TimerController@update
DELETE timer/{timer} timer.destroy TimerController@destroy
GET HEAD note note.index NoteController@index
GET HEAD note/create note.create NoteController@create
POST note note.store NoteController@store
GET HEAD note/{note} note.show NoteController@show
GET HEAD note/{note}/edit note.edit NoteController@edit
PUT note/{note} note.update NoteController@update
PATCH note/{note} NoteController@update
DELETE note/{note} note.destroy NoteController@destroy

##Packages Several packages were used in the making of this application. All are awesome because each is open source - go community!

###GravatarLib GravatarLib is a small library intended to provide easy integration of gravatar-provided avatars. More @ thomaswelton/gravatarlib

The "Black Box" demystified

The black box or web application is constructed with CSS3, HTML5, JavaScript, and PHP. All the really fancy goodies are driven by Bourbon, Neat, Bitters, and Refils. Big thanks to Thoughtbot for maintaining and funding the project. Don't know where the development community would be without folks like these!

##User's Guide The User’s Guide is intended get a user aquatinted with Chalkbox. The guide is not written as technical documentation. If you’d like that, I suggest reading the source code. ###Getting started ####Register or Signin Get started by creating a new user account. Once a new account is created, enjoy, you will be automatically authenticated and redirected to your project management page. If you happen to misplace a password, no worries - forgot password.

####User Interface #####Projects Chalkbox projects are displayed after signing into the application on the “projects” user interface. Chalkbox user interface - projects From this page please enjoy creating and modifying each of your Chalkbox projecs! The UI provides a project news feed too - running list of major project modifications.

#####New Project Building a new project in Chalkbox is a breeze - all we really need is a name! Chalkbox user interface - projects The “+ New Project” user interface collects all a lot of good information about a project such as name, description, states and date. Just be sure to add your project name - no worries if you make a mistake as we can make edits too.

#####Manage a Project What good is project management if you can not “manage” the project? The project details user interface let’s you do just that - basic project management. Chalkbox user interface - projects

Time tracking is a breeze with the “+ Start Timer” and “Stop Timer” buttons. Clicking the "+ Start Timer” button kicks off a timer, do this while you work. When you're done working, click the “Stop Timer” button. Chalkbox will stop tracking time to the project.

All time logged to a project is displayed in the project “epic."

Chalkbox can keep project notes too! To create a note, click “+ New Note” tab. Once you’ve created and saved a note, said note will be displayed in the “Note” tab. To view the details of a note, just click the note title link. Chalkbox will display the contents of the note right on the page.

About

Manage your projects like a web artisan - not an accountant.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published