| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Website development

Page history last edited by Edmund Johnson 14 years, 7 months ago

This page is maintained by the Website Development Group.

 

Contents:


 

Section A) Functionality

 

Membership Functions

 

1. Register as a new member.

    If the member is the first one (or one of the first 3 or 5 ?) in a postcode area (e.g. 'GL'):

    - ask them if they'd like to help publicise freelender

    - direct them to a page which has a printable poster advertising freelender

    - encourage them to tell their friends

    - congratulate them and thank them !

2. Login

3. Logout

4. Forgotten Password (get emailed a new one)

5. Remember Me on this computer

6. Edit Profile (includes Change Password)

7. On Holiday. Useful if e.g. going away for a few months

- hides all the member's items from other members (without having to delete the items)

- prevents the member from borrowing

- does not prevent the member logging in

8. Contact freelender

9. Display Help / Info.  e.g. FAQ, Privacy Policy, About Freelender, etc

 

 

Borrowing and Lending Functions

 

These functions are given in approximate chronological order.

Where more than one choice is available at a point in time, these are listed as a., b., c., etc.

 

1. Adding items (lender)

  • Add item to library
  • List items
  • Edit item
  • Remove item

 

2. Making a request (borrower):

  • Perform search, by keyword, location, availability, etc.
  • Display search results, includes links to:

    - view lender details

    - view item details

  • View lender details.  Includes lender feedback and rating.
  • View item details.
  • Request item (sends an email to the lender).
  • Cancel request.
  • List outstanding requests made.
  • List items currently being borrowed.

 

3. Responding to a request (lender):

  • List outstanding requests received.
  • View borrower details.  Includes borrower feedback and rating.
  • Accept request. At this point, the "request" becomes a "transaction". An email is sent to the borrower. An Expected Return Date is set, by default one month in the future. The borrower and lender send messages to each other via freelender to organise a time for the item to be lent and returned.
  • Deny request. An email is sent to the borrower.
  • Send message to borrower.

 

4. During a transaction (borrower):

  • Send message to borrower.

 

5. During a transaction (lender):

  • Mark the transaction as complete, and leave feedback on the borrower:
    1. what happened to the item: lent and returned, lent and not returned, not lent
    2. when the item was returned: on time / a bit late / very late / not at all
    3. what condition the item was in
    4. a comment on the borrower (optional)
  • Send message to borrower.

 

6. After transaction complete (borrower):

  • View borrowing history
  • Enter or edit feedback on the lender (rate as hassle-free, minor hassles, or problematic)

 

7. After transaction complete (lender):

  • View lending history
  • Edit feedback on the borrower

 

8. Wishlist functions:

  • View wishlist
  • Add item to wishlist
  • Remove item from wishlist

 

Item Sub-Categories

 

The options which have been considered are:

- The set of allowed sub-categories for each category are pre-determined by the site administrators and stored in the database.  When creating an item, the user is presented with a corresponding set of check-boxes, and can tick the appropriate ones

- When creating an item, the user types in a free-format, comma-separated list of sub-categories for the item

 

Advantages of pre-determined sub-categories:

- there is no danger of a user mis-spelling a sub-category

- there is no danger of sub-categories which mean the same thing being entered differently by different users

- there is no danger of the a sub-category being mis-used, whether deliberately or accidentally

 

Advantages of user-created sub-categories:

- site administrators do not need to maintain the list of allowed sub-categories

- users are not restricted in their choice of sub-categories

- the item creation page has fewer fields and doesn't visually overload the user

- it is quicker for the user to create an item (?)

 

Pre-determined sub-categories will be used.

 

Website Text

 

  1. Help / Info Text
    1. About freelender
    2. How It Works
    3. Privacy policy
    4. FAQ
    5. Trust Stats
    6. Testimonial
    7. Get Involved
  2. Email text
  1. New member
  2. Reset password (after forgotten password)

 

Background Functions

 

Overnight Processing

 

  1. Archive transactions which ended more than 6 months ago.
  2. Send email reminder to borrower if the Expected Return Date of an item is in 2 days time.  [Future functionality?: This is optional on whether the borrower has set 'Send Me Reminders' in their profile.]
  3. Send email to borrower if Expected Return Date is yesterday.
  4. Send email reminder to borrower to leave lender feedback if transaction completed one week ago.
  5. Send email reminder to borrower to leave lender feedback if transaction completed two weeks ago.
  6. Send email reminders to lender and borrower if expected return date was more than two weeks ago.

 

 

Additional Functions [not planned for first release]

 

Do not update this section - use Future Functionality page instead.

 

The functions listed in this section are not required for the first release.

They may, however, be included in the first release, or they may be included in subsequent releases, or they may never be included!

 

Admin Functions

 

Membership

 

  1. Disable Account (e.g. if complaint received).  This prevents the member logging in
  2. Enable Account

 

Communication with Members

 

  1. Stock-taking (to begin within 6 months of site going live); have you still got the items available?; have you received any items for free?; do you want to make a donation?

 

Reports

 

  1. Searches perfomed (daily/monthly/etc).

 

 

Member Functions

 

  1. Enable user-generated Private Sharing Groups (provisionally called "Clubs/Societies")
  2. Have category icons, each of which represents an item category (Book, etc). Display the icon next to the item on pages where the item is displayed.

    Graphics will improve the user experience. 

    This suggestion is especially worth considering if it is not possible to download images of items from an online library such as Amazon.

  3. User-photos. Allow users to upload a photo to be stored against their profile and displayed in places where their username is displayed.
  4. Mark an item as potentially offensive
  1. If the item has already been moderated:
    1. inform the offendee immediately
  2. If the item has NOT already been moderated:
    1. add the item to the 'to be moderated' list
    2. send an email to the moderator
    3. send an email to the lender 

 

 

Moderator Functions

 

  1. View the 'to be moderated' list.
  2. Moderate a potentially offensive item. Either:
    1. mark the item as offensive, or:
    2. mark the item as not offensive.
    3. Either way, do all the following:
      1. mark the item as moderated
      2. send an email to the lender letting them know the result
      3. send an email to the offendee letting them know the result.

 

TBD:

  • Can we find better terms than 'potentially offensive' and 'offensive' to distinguish an unmoderated complaint and a moderated one ?
  • Does an item get hidden from members when it is potentially offensive or when it is offensive ?

 

 

 

Section B) Testing

 

We use CodeTrack to log the bugs we know about (and will invite you to join in this if you ask).

On CodeTrack Bugs have 3 statuses:

- Open.  The problem has been raised but not solved

- Fixed.  The problem has been fixed in the development, and possibly the test version, but not in the live release

- Closed.  The problem has been fixed in the live release.

Open bugs are shown by default.

Fixed bugs can be seen by clicking on Reports / Fixed Freelender issues

So if you see something is 'Fixed' but it's still not working on the live site, that's the reason.

 

Usability Testing

 

  1. Be present with the users during testing.
  2. Emphasise to the testers that it is the website that is being tested, not them.
  3. Before showing the users the site, ask them what their expectations of it are.
  4. Set the users tasks to complete.
  5. Ask them to 'think out loud' during testing, e.g.:
  • explain their reasons for clicking on anything they click on
  • have they considered any other options

 

Section C) Technology

 

The database will be MySQL.

 

The front end will be dynamically generated XHTML, Javascript and CSS.

 

The engine generating the content will be either:

  • Ruby on Rails  [it is currently planned to use Ruby on Rails]
  • PHP5 with a lightweight framework, such as phpCake or CodeIgniter

 

Ruby on Rails

 

Advantages for the Website

 

  1. It will go live quicker
  2. It will be more robust (i.e. fewer bugs)
  3. The site will contain less code, for the same functionality
  4. RoR is the way of the future, so the site would be less likely to require redevelopment in the short to medium term

 

Advantages for the People

 

  1. Less time spent developing and maintaining the site
  2. Development is more fun
  3. Good to gain experience in RoR, because fewer people have RoR skills, so it is a skill in deeper demand
  4. It could be easier to recruit people to maintain the site, because People may be attracted to work on the site by being able to pick up RoR

 

 

PHP5 + Lightweight Framework

 

Advantages for the Website

 

  1. freeconomy is written in PHP so future merging of code would be easier
  2. It can be deployed to almost any Web Host, as they all support PHP, and most support PHP5
  3. Hosting the site is probably lower cost

 

Advantages for the People

 

  1. Good to gain experience in PHP, because it is used on more websites, so it is a skill in wider demand
  2. It could be easier to recruit people to maintain the site, because there are more people out there who know PHP
  3. Paul would prefer PHP to be used (This will create more editability of code if we create a team or if Edmund dies; the concept is "community resilience", rather than something that only a couple of people control.)

 

Comments (0)

You don't have permission to comment on this page.