Giter VIP home page Giter VIP logo

smartnotes's Introduction

SmartNotes

SmartNotes

Creation and management of simple notes by Thabo Tankiso Thebe.

Access SmartNotes here

Contents

  1. Document Version History
  2. Signed Off By
  3. Contributors
  4. Current Features Analysis
  5. High-level Description
  6. Systems Involved
  7. Process Flow
  8. Detailed Steps
    1. User logs into the application
    2. User register for SmartNotes account
    3. Login into SmartNotes
    4. Create a note
    5. Read a note
    6. Update a note
    7. Delete a note
  9. Possible Exceptions

Confidential

Document Version History

Version Author Date
1.x Tankiso Thebe 02/05/2024

Signed Off By

Name | Function | Responsibility

Contributors

Name Function Responsibility
Tankiso Thebe Software Developer Develop
Lebohang Thokoane Quality Assurance Test the app

Current Features Analysis

High-level Description

The application allows different users to create, read, and manage notes. Admin users have additional capabilities to manage user accounts and notes. Currently, normal users can:

  • Register for SmartNotes account.
  • Login into SmartNotes.
  • Create a note.
  • Read a note.
  • Update a note.
  • Delete a note.
  • Share a note.

Systems Involved

System Used for User role needed
Django Admin Manage the SmartNotes application users and notes Admin access
Notes Displaying and managing notes for logged-in users User account (username and password)
Home Main or landing page for the app Any

Process Flow

Here is a description of the process in the form of a flow chart:

graph LR
A[Register] --> B[Login] --> C[Create/Share a note] 
B --> D[Read a Note]
B --> E[Update a Note/Share a note]
B --> F[Delete a Note]
Loading

Detailed Steps

1. User logs into the application

  • The URL used by the user is: http://smartnotes.local:8000/

Landing Page

2. User register for SmartNotes account

  • The URL used by the user is: http://smartnotes.local:8000/register

Register for SmartNotes

  • User can create personal credentials (a username and a password).

3. Login into SmartNotes

  • The URL used by the user is: http://smartnotes.local:8000/login

Login into SmartNotes

  • User enters their personal credentials (a username and a password).

4. Create a note

  • After logging into the site, the user inserts a title, content and category for the note.

Create a note

  • A User can choose to share a note with other users of their choice or not share.
  • User saves the note.

5. List/Read a note

  • After creating or if another user shares a note, the user can see their note listed under "Notes" or "Shared Notes".
  • User can read/see their notes by clicking on the note's title.

List Notes

Read a note

6. Update a note

  • After creating a note, the user can edit their note and update it.
  • While editing the user can also choose to share the note with other users.

Update a note

7. Delete a note

  • After creating a note, the user can delete it.

Delete Note

Possible Exceptions

Exceptions are special cases and rules that can influence and even stop the smooth running of the SmartNotes app.

Logic Exceptions

  • Missing Data: Username, password, note title, and notes content are all required. If some of this information is missing, the user will not be able to login or create a note.

System Exceptions

  • Invalid Credentials: If the user provides invalid credentials, the login is not successful, and the process stops.

Invalid Credentials

This is a django project

smartnotes's People

Contributors

majortank avatar lebohangt avatar

Stargazers

Control + Shift + m avatar jist avatar

Watchers

 avatar

Forkers

lebohangt

smartnotes's Issues

Class based logout-based logout view does not work as expected.

Description:

When using a class based view to define a logout view, the logout button does not work it redirects to http://localhost:8000/logout/ and show a 404 error message.

In home view I have this view:

class LogoutInterfaceView(LogoutView):
    next_page = '/login'
 

the error message:

image
but it does not work, it only works when I have create it as a function based view like this:

def logout_view(request):
logout(request)
return redirect('/login')

this one works:

image

Steps to Reproduce:

  • Clone project
  • modify the logout view(in home) and update urls (in home)
  • run the notes app
  • register a user and login
  • try to lout out.
  • thanks in advance

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.