PHP - Student Groups Organization App
I need a PHP/MySQL web application which will function as a Group Organization tool for various student organizations at a University. I also need it to be very user friendly. It needs to do the following:
- Allows users to create, edit, and customize informational pages for student organizations (textual content, approx. 25 fields)
- Photo gallery for each organization (with permissions giving multiple, but not all, users the ability upload photos)
- Search engine friendly URLS ([url removed, login to view])
- Web-based email contact forms for any officer (with a "captcha" to protect against spam)
- Integration with Google Calendar for events (Not just sticking in an iFrame. We need integration via the gCal API. There is at least one PHP library that does some or all of this already.)
- Aggregation of these events into a master calendar to expose students to the wide variety of events happening every single day (This will involve pulling multiple calendars from Google via the API and aggregating the events on a single day. Every calendar needs to be easily navigable, attractive looking (and styled completely via CSS).
- Integration with Google Maps (see [url removed, login to view]) so students can click on a meeting place and automatically see where it is
- Administrative backend to add new groups, modify current groups, delete groups based on your permissions.
- "Super administrators" can edit permissions for anyone. People given the permissions necessary to be a Manager of a group can also edit permissions of people for within that group.
- Cookies not used to validate login (but include a "Remember Me" checkbox). Use Sessions for access control.
- Searchable, tagable, browsable directory of student groups AND events.
- All styling needs to be via CSS. No table-based layouts (use tables only where appropriate). Use the XHTML 1.0 Transitional doctype and make sure XHTML and CSS validate.
- Clean code, well commented in English (for all PHP, sQL, CSS, and XHTML)
- 100% viewable (should look extremely similar in) and workable in IE6+, FF1.5+, Opera, Safari on Windows XP+ or OSX+.