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 sign up/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 /signup/
- Show Sign Up formPOST /signup/
- Sign UpGET /signin/
- Show Sign In formPOST /signin/
- Sign InGET /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
Sign Up:
- user can successfully sign up
- user can't sign up if required fields are missing
- user can't sign up if email is invalid
- user can't sign up if email already exists
- user can't sign up if passwords do not match
Sign In:
- user can successfully sign in
- user can't sign in if required fields are missing
- user can't sign in 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