Book Preview Registration Work: Basics
Book Preview Registration Work: Basics
This project is to update and improve the registration process for authors who are joining
bookpreview.info.
BookPreview is an online system to help authors promote their books. Each author gets a website
like this: http://bookpreview.info/personalbaggage/
There is also a central page at http://bookpreview.info which lists all the books on the portal.
!uthors currently register their books here:
http://bookpreview.info/register/register.php"step#$
Basics
!lthough this document is %uite lengthy it is provided to answer most %uestions that you may have
and to make you fully aware of the scope of the work before bidding. The basic nuts and bolts are a
multipage registration form inserting/e&tracting data from multiple relationship tables in a 'y()*
database.
Updates and changes required:
+uring the registration process users need to input the following information in the table below.
,e%uired fields are marked with an asteri&. +etails about programming re%uirements are below the
table. -.ve split the table into colours which - think should represent each screen but alternatives are
welcome.
-nitial screen with message about what this is and what is involved. Te&t will be provided. There
should be a button link ./es0 -.m ready to get started. below the te&t.
1ser registration. !sk for:
email 2twice3
password 2twice3
tickbo& for accepting terms and
conditions
Te&t inputs and
checkbo&
Basic email checks .4. and ... in
the right order. 5heck emails
and passwords match.
(ave to session until ne&t
screen is completed.
Book Title6 Te&t input 'inimum $7 characters
Book +escription6 Te&tarea 'inimum 877 words
9enre 2fiction/non fiction3 (elect bo&
(tatus 2published/unpublished3 (elect bo&
-f published is selected ask for:
/ear published
Edition 2:irst/(econd/Third3
(elect bo&es for
both
/ear published select bo&
should be dynamically
populated starting with current
year back to $;77. Edition
select bo& from .:irst. to
.Twentieth.
:ront cover image6 Browse (ee below
*egal 2any copyright notice3 Te&tarea
Publication history 2first published 877<0 etc3 Te&tarea
-ntroduction Te&tarea
Preface Te&tarea
Prologue Te&tarea
:oreword Te&tarea
!uthor =ame6 Te&t input 'inimum > characters and two
words
!uthor +escription6 Te&tarea 'inimum $77 words
!uthor profiles on 9oogle?0 Twitter0 pinterest
and :acebook
Te&t inputs (tandard checks such as
.beginning with http. if any
input is given
!uthor.s own website Te&t input (tandard checks such as
.beginning with http. if any
input is given
There should be an option here to add additional authors @ e.g. .save. or .save and add another
author.
!t least one of the following:6
!maAon -(B= number
!maAon kindle number
website where ebook can be purchased
website where hard copy book can be
purchased
website where book can be obtained for
free if buyer does something 2e.g. joins
a service / buys something else / etc.3
'essage for .free book. @ e.g. get this
book free when you join mysite.com
Te&t inputs Basic validations @ for websites
check format 2e.g. has http at
start0 includes ...0 etc.3 :or -(B=
must be all numbers0 minimum
$7 numbers0 etc.
:or the .free book. e&le in
action see
http://bookpreview.info/buying
propertyinpoland/buy/
(pace to add reviews/testimonials. (tart with
one but ability to add more. Each testimonial
allows the input of the author of the testimonial
and their testimonial
Te&t input and
te&tarea
'in $7 characters for te&t input
and minimum $7 words for te&t
area.
!sk if the book is split into sections0 each with
multiple chapters 2e.g. .Part -. has chapters $B0
etc.3. -f so ask for the titles. (how two input
bo&es to start but with a button to add further
inputs. -f not move on.
Te&t inputs 'inimum $ character.
Possible break page e&plaining what is coming ne&t @ chapter input
5hapter inputs. (ee below
(creen notifying user that email has been sent for them to verify. This validation system should
also be included. Chen they click on their validation link in the email they get taken to a .success.
page with a link to login.
Book Title
!fter the user has entered the book title0 book description0 genre and status the system needs to
check if this book title exists (using case insensitive search).
-f it is marked in the database as .approved. the user should be told the book is already live
and shown the link to the page 2e.g. http://bookpreview.info/makingthemostofgoogle
adwords/3 and a link to author login 2http://bookpreview.info/panel/login.php3
-f it is not marked in the database as .approved. but it is marked in the database as
.registrationcompleted. the user should be told the book is registered and waiting admin
approval with a link to the login screen 2http://bookpreview.info/panel/login.php3
-f it is marked in the database as .registrationincomplete. the user should be told the book is
part registered and do they want to continue the registration. Chatever data e&ists should be
pulled down to populate subse%uent screens.
-f the book does not e&ist it should be added to the database. The book title should be changed to
lower case and spaces replaced with ... There is a field in the database for this.
The book record should also be marked as .=. in the field .regDcompleted.. !t the final screen this
will be changed to ./.. This flag helps us flush out incomplete registrations.
The book record has a field .dateDadded. which should be set to todays date.
Front cover image.
This should be resiAed and cropped to 8E7p& wide and BF7p& high with no black space regardless of
the initial siAe of the image. The image siAe should then be reduced to less than $77kb and stored in
a specific directory as thebooktitle.jpg
Author records
-f the user is moving back to this screen after completing it they should see a list of authors with an
.edit. icon beside each one. This will show a hidden div with the entry so it can be edited. =ote this
means that on one screen they will be able to edit multiple authors and the .save. button should
reflect this.
Chapter inputs
The author is re%uired to copy and paste the te&t of their book chapter by chapter into the system.
Each chapter re%uires a title 2te&tinput @ min $ character3 and the te&t 2te&t area @ min $7
characters3.
Gnce a chapter is entered and the user clicks save the system needs to ask them how much of the
chapter will be visible to users. Ce need something clever here with H%uery so they only need to
click the point at which the rest of the chapter te&t is hidden. (ee an e&le of how this looks on
the finished screen here: http://bookpreview.info/personalbaggage/chapterone/
!fter clicking the point at which the rest of the te&t is hidden the user can click .save.. This will
open a screen for another chapter to be added. =ote the first $7 lines of te&t cannot be chosen.
Programming note @ when the chapter is added to the database the chapter title needs to be changed
to lowercase and spaces replaced with ... This becomes the chapter 1,*. The first $<7 characters of
the content 2rounded to the nearest word3 needs to be separated. This becomes the meta description.
-f the total number of words in all the chapters entered so far is greater than 870777 there should
also be an option .- don.t have any more chapters to add. which will move them onto the final screen
=ote the 870777 figure is taken from the database entry for the book. This is so admin can change
this figure on a book by book basis if needed.
-f the user is moving back to this screen after completing it they should see a list of chapters with an
.edit. icon beside each one. This will show a hidden div with the entry so it can be edited. =ote this
means that on one screen they will be able to edit multiple chapters and the .save. button should
reflect this.
User registration
Gnce the user has entered their email and password the book should be marked as complete in the
database and an email should be sent to admin notifying them that the book is awaiting approval.
The approval system for books already e&ists and is not part of this project.
Note: if the user is already logged in 2because they registered another book earlier and have come
from their admin panel3 this screen will show only the message that the book is now waiting admin
approval. !n email should be sent to admin as above
The login and admin systems for users e&ists and a test account will be made available so you can
test this.
Mechanics
The registration process should take place over several screens to avoid it looking too
difficult
The user should be able to move backwards through the process for editing but only move
forwards on each screen once re%uired fields have been completed.
:or re%uired fields - suggest the fields are given a light red background which turns green
once re%uirements are fulfilled
Each field will have a help button beside it which should open a lightbo& style scrollable
help screen 2not an html popup3. The contents of this will be populated from a database
depending on the help button pressed 2e.g. help.php"fieldname#authortitle3.
,egistration details should go directly into a new database record 2not a session3 as the
registration process may cause a session time out which would be frustrating to the user.
Technology
'y()* database0 php0 H%uery0 5((
:TP access to the server and access to the 'y()* databases will be made available @ no
test server is re%uired.
!ll the databases and relational tables to take/e&tract the data are already in place.
Because of the comple&ity of the registration system no mobile version is re%uired but the
layout can be responsive to screen siAe0 especially to make te&tarea bo&es larger if the user
has a large screen.
Bidding for this project
-n order to filter bidders %uickly all bids should start with the words .Yep, I read the whole brief..
-f your bid does not start this way we will assume you have not read the brief and your bid will be
dismissed.
-f you have any %uestions please list them in the te&t of your bid and submit the bid without an
amount. - will then open an Elance workroom so we can discuss.