The site is to be split into three sections:
1.Public Facing – Members Only – Admin Only
Once this data is in the database I want to give them 2 joining options FREE* just pay for the events or ANNUAL membership for a fee. We intend to use a simple paypal system to accept payment and the paypal IPN to confirm the payment. Once paid/joined we require an email to be sent out so the user confirms their email address and we can check they are a genuine user. The membership level and when it expires(in the case of annual membership) needs to be recorded in a database table: memberships
This file would be called join.php
3.Once joined the user will presumably follow a link from the confirmation email and be logged in to the members only area. Confirm.php
4.If they are an existing user and they wish to login to the system they need a login form, preferably using some sort of image login (??CAPTCHA??) as well for extra security (the server has GD library) for extra security. Login.php
5.Once they are successfully authenticated they will be in membersArea.php this is basically an options menu:
i.Your Company Details
here they will be able to change there company details addresses etc. memberDetails.php
ii.Your Products and Services
Here they will be able to add/edit/delete any number of services they provide (separate database table: services). membersProductsServices.php
From here the user will be able to add/edit/delete company staff – their details such as name, address, telephone, fax, address, email, mobile telephone number. This will form a list of contacts within the company. There must be a facility to change which user is the primary user (the point of contact). membersPeople.php database table people.
From this page the user can upgrade their account if they have a free version (PAYPAL IPN to pay and confirm then update. Also the ability to cancel their account and renew the account when it is set to expire. If the annual subscription expires and it is not renewed the user will be downgraded to free automatically. MembersMembership.php
v.Events – Book your place
From this page all the forthcoming events will be listed with a book a place price – note these events will be set up in the adminOnly section. Information listed for each event is title, date, total number of place, places available, cost for ANNUAL members, cost for FREE and the title can also be a link to the full description of the event (this page will be developed as part of the non-password protected Public Facing area). Orders are to be recoreded in the orders table in the database. Places are available are to be automatically deducted from the event it the order is successful. MembersEvents.php
6.admin only section. This area is to be password protected and for use by the site admin only. Admin.php. Options for the admin will include.
i.Add an event – title of event, date of event, description of event (to be edited using tinyMCE WSIWYG) and include the ability to upload images and add them to the event. Include the number of places available if not unlimited, the cost for ANNUAL members entrance if not free and the cost of FREE members entrance. AdminEvents.php database table events
ii.Past events - Once an event has passed/ date expired it will be listed in Past Events. This page will offer the ability to add a description of how things went and upload images all using tinyMCE or similar). These descriptions will need the option to be edited or deleted in the future. AdminPastEvents.php database table reviews.
iii.Edit Admin Details – this will give admin the ability to change the contact details of the administrator and update the passwords, addresses, tel, fax etc. adminEditDetails.php database table admin.
this will be a list of companies in the system, paginated and with the ability to search by company name.
this will give the admin the ability to change the names, addresses, tel, etc of any company in the database or delete them entirely. adminEditCompanies.php
1.a sub menu of each company will list all the People from that company and give the admin the option add/edit/delete their details. AdminEditPeople.php
v.Manual Companies – not everyone will use the website and we need an option to add a company and its people manually and also record their membership level and expiry. This should list all the manually added companies and give option to edit and delete them
AdminManualCompanies.php this should user the same database tables as the normal companies and people, but have a flag which tells us it is a manual user, so we can differentiate between them. AdminManualPeople.php
This is a simple email form to send information out to all the companies (primary contact), or just the FREE or just the ANNUAL members (primary contacts). Send a copy email to the admin. AdminEmailMembers.php
This is a simple article editor using the tinyMCE (or similar) and image uploads
AdminEditText.php database table articles (id,title,description), the first article will be the frontpage text.
This will be a list of the orders of memberships, and event place bookings and the time they took place. AdminTransactions.php
This page will list the current events along with how many available places there are and how many places have been designated, plus the date of the event. AdminEventManagement.php clicking on the title of the event will load up a new page adminEventInformation.php will list the people who are attending the event (i.e. which people from which companies).
7.Public Facing area
The public facing area (the frontpage of the site) index.php will have the frontpage text on it as set up in admin > edit text, a list of the events coming up. Date soonest first and links to :
This is a simple paginated search, which will list the names of most recently joined companies, by default and then offer a search form to search for a company by name or by the services they offer (from the services table in the database). The name of the company will be a link to the full company details as set up in the join.php by the company (in the companies table). In the case of the searching by the services the company offers, companies with matching services will be returned.
ii.Events - eventDetail.php
list all the details for that event (full details as entered in admin > events) plus a link to book it, which in turn links to join or login depending what they want to do - a useful feature might be after login or signup to be diverted straight to Events – Book your place rather than membersArea. There should be a list of all the other events (titles dates and availability only) on each eventDetail.php page.
This page will list all past events with reviews written in admin > past events in date order, most recent first
iv.Join already mentioned
v.Login – already mentioned
vi.Articles - the titles of the articles written in admin > Edit text will be listed (except frontpage)