You will be required to create the front-end (HTML/CSS), middle (PHP) and back- end (MySQL) functionality of a matchmaking site.
This dating website is aim at pet owners or people who would like to meet another half who happens to own a pet. It is a website which holds profile of pets (dogs,cats, rabbits etc) and their owners.
Required to build the entire site with navigation bar, sign up page, user profile (Primary profile (pet), secondary profile (owner), login and logout page, search page (search fields), functions such as upload images, send off-line messages. Administration page, database schema, mysql script (which I can set up the table with on my server)
More detailed:
Required to build the entire site with navigation bar, sign up page, user profile (Primary profile (pet), secondary profile (owner), login and logout page, search page (search fields), functions such as upload images, send off-line messages. Administration page, database schema, mysql script (which I can set up the table with on my server)
It should have some static HTML page links to “about us”, “testimonials”, “why we
are here”, “support” etc., that will give a sense of appropriate business rules. You may
also include static pages of related articles or integration of a blog (e.g. wordpress).
Your homepage ([login to view URL]) will enable new users to sign up ([login to view URL]), or allow
existing users to log in ([login to view URL]). There will be a consistent design throughout the
site, complete with advertising regions. A template look and feel should be created to
ease development for the rest of the coursework. Advertising regions and suitable
logo / branding placements should be considered for professional web design.
Any CSS used should be globally applied for consistent reuse, and it should be
contained in its own CSS file (.css), not embedded in each document. Identify areas
as AP div tags with IDs, where you will need to embed PHP programs that manage and generate the content in those parts of the interface. It is important to consider
which pages will be generated dynamically as well as which regions within pages.
When users sign up for the first time, the website will take their details in a form
([login to view URL]), similar to what you have done for lab sheet 1. This data is to be sent by
PHP to an SQL database that you must create. They should have a unique username
that they create – so some validation is required to check that it doesn’t exist already.
Some of the user’s data will be made public for viewing, and some of the data will be
kept private only for the website to use for matchmaking searches (such as post code,
last date logged in). It will allow them to upload a photo of themselves.
When the user logs in ([login to view URL]) and out ([login to view URL]), the database must know this,
so an “online now” variable must be a part of the users’ profile. Before allowing the
user to submit the signup form, you should validate his input by using JavaScript (e.g.
make sure there is an ‘@’ in the email box). When logging on to the web page, the
user should not be allowed to log on again.
When a user logs in normally (via [login to view URL]) it is checked with the database, giving
them access to their landing page ([login to view URL]). Here they have links to edit their
profile, view their profile ([login to view URL]) as other users see it, and to see a list of
message texts sent by other usernames. It will also be good practice if when the user
logs in they get a personalised greeting (e.g. Welcome Jim Smith, you have 5 new messages).
A search link will then open a search page ([login to view URL]) to choose search options, and
perform a variety of search enquiries. It will return a dynamically generated gallery
of users thumbnails ([login to view URL]). You may use existing open source scripts to help
you with the gallery viewing, and it can be with Flash, Javascript or straight PHP but
you must cite any usage here. Clicking on any of the user profiles should show you
the user’s public data and an enlarged version of their photo. A textbox at the bottom
of the users profile should allow you to send some text (e.g. your contact information)
into the database for that user’s profile. That will become viewable in date order, on
the message history in landing.php.
A separate administrator page ([login to view URL]) should be created for the website
administrator, to check the database as a table. The administrator page should be
inaccessible for the regular user, therefore needs a unique username and password. It
should be able to manually add data into the database, edit and delete users data. It
will also enable them to view messages histories of users.
1. Producing thumbnails of the images uploaded (you may use existing scripts
for this).
2. Uploading multiple photos to be stored on a users’ profile.
3. Viewing a history of which usernames have viewed your profile.
4. Blocking certain user profiles from continuing to view your profile, OR
temporarily hiding your profile from all users.
You will develop the ability to send an auto-generated email when you have been left a message on the site.
The organisation of your programming efforts will be now be in line with the Model-
View-Controller (MVC) design pattern of software development (to be taught in the
lectures).
In addition to this,
Two or more of the following tasks must be achieved for this stage:
1. Allowing the system to store user information in the database but delay for a
set time period before updating the website. This gives the administrator a
chance to review the incoming data before it becomes publicly available.
2. Chat with “online now” status users, in a chat window. Remember when they
log off of the system, they won’t be available in this chat window.
3. Postcode searching (you may use existing free scripts for this) e.g. search for
matches within 50, 100, 150 miles.
4. A payment page link ([login to view URL]) on the sign in page, to enable users to pay
by credit card with a date starting to date ending (e.g. monthly subscription, 3
monthly, yearly). Free and Paid memberships are distinguished by the CSS
colour scheme when viewing a user profile. A history of payments made
would be shown on users landing page when they log in ([login to view URL]).