Your task in this project is to design, implement, test and document the basis of a simple online dating service using HTML, CSS, PHP, Smarty and MySQL.
The goal of the assignment is to design, implement, test and document a simple database-backed Web application that models part of a simple online dating service such as RSVP. The application should allow users to post descriptions (or profiles) of themselves, to update and delete posted profiles, to browse other users' profiles, and to search for users who satisfy given criteria.
Each user profile should have a unique id, a unique username, a real name, a gender (male or female), a date of birth, a date of joining, an email address, and a set of interests (e.g., music, movies, dancing, sailing).
A user's interests must be chosen from some finite set of strings. Users may add new interests when they create or update their profile. (Note that interests should be stored in a separate table and that there is a many-many relationship between users and interests.)
Users may view the set of all user profiles. Users may search for all users with a given name, of a given gender, in a given age range, and with one or more given interests. Any criteria may be unconstrained in a query. Users may update their own profile and delete their own profile.
The home page should display a list of the 5 users who have joined most recently. It should contain a search form, a link to a page containing a list of all users, and a link to a page for creating new user profiles. It should also contain a link to the documentation (described below).
Each list of users on the home page or resulting from browsing or searching should actually be a list of user summaries, containing the username, gender and age of each user. Each user summary should be a link to a page containing the full details of that user.
Each user details page should contain the full details of the user, a link to a page for updating the user's profile, and a link for deleting the user's profile
From the page containing the full details of a user, users may either update or delete the user's profile, including updating the user's set of interests.
After adding or updating a profile, the user should see that person's details page. After deleting a profile, the user should see the home page.
All user input must be appropriately validated and sanitised. For simplicity, validation consists of checking that text fields and sets of interests are nonempty and that ages are at least 18.
For simplicity, you do not need to paginate results of browsing or searching, you do not need to use images, and you do not need to implement any authentication or authorisation mechanisms.
All pages should have the same appropriate header (with at least the service name) and footer (with at least your student name and id). Appropriate pages should have a link to the home page.
Cascading style sheets should be used to provide a simple, uniform, distinctive appearance to your application.
I will provide the rest of the info once agreed on a price..