Send your pull requests in the master
branch.
Please prepend commit messages with framework name.
Good commit messages:
Django: Implemented signout functionality
Symfony: Fixed broken pad tests
Bad commit messages:
Implemented signout functionality in django
Fixed broken symfony pad tests
Please follow code style guidelines and best practices for your programming language and framework. Specify guidelines in a README file in a code style section.
Notejam is a web application which allows user to #/in/out and create/view/edit/delete notes. Notes are grouped in pads. See screenshots for look and feel.
Structure of objects (aka models or entities) used in the app:
- Note: id, pad_id, user_id, name, text, created_at, updated_at
- Pad: id, user_id, name
- User: id, email, password
See recommended database schema for details.
All html layouts are sliced and available in the html folder.
User pages
GET /#/
- Show # formPOST /#/
- #GET /signin/
- Show # formPOST /signin/
- #GET /signout/
- Sign outGET /forgot-password/
- Show Forgot password formPOST /forgot-password/
- Forgot Password requestGET /settings/
- Show user settings formPOST /settings/
- Change user settings
Note pages
GET /notes/create/
- Show Create note formPOST /notes/create/
- Create noteGET /notes/<note_id>/
- View noteGET /notes/<note_id>/edit/
- Show Edit note formPOST /notes/<note_id>/edit/
- Edit noteGET /notes/<note_id>/delete/
- Show confirmation delete pagePOST /notes/<note_id>/delete/
- Delete note
Pad pages
GET /pads/create/
- Show Create pad formPOST /pads/create/
- Create padGET /pads/<pad_id>/
- View pad notesGET /pads/<pad_id>/edit/
- Show Edit pad formPOST /pads/<pad_id>/edit/
- Edit padGET /pads/<pad_id>/delete/
- Show confirmation delete pagePOST /pads/<pad_id>/delete/
- Delete pad
Any kind of tests are very desirable.
Recommended test cases
#:
- user can successfully #
- user can't # if required fields are missing
- user can't # if email is invalid
- user can't # if email already exists
- user can't # if passwords do not match
#:
- user can successfully #
- user can't # if required fields are missing
- user can't # if credentials are wrong
Notes:
- note can be successfully created
- note can't be created by anonymous user
- note can't be created if required fields are missing
- note can be edited by its owner
- note can't be edited if required fields are missing
- note can't be edited by not an owner
- note can't be added into another's user pad
- note can be viewed by its owner
- note can't be viewed by not an owner
- note can be deleted by its owner
- note can't be deleted by not an owner
Pads:
- pad can be successfully created
- pad can't be created if required fields are missing
- pad can be edited by its owner
- pad can't be edited if required fields are missing
- pad can't be edited by not an owner
- pad can be viewed by its owner
- pad can't be viewed by not an owner
- pad can be deleted by its owner
- pad can't be deleted by not an owner