Using Developer Express scheduling/calendar controls(ASPxScheduler suite: trial version is fine, I can buy the full version afterfinal product delivered <[url removed, login to view]>) create a calendar scheduler which will be used by student athletes in a different schools to provide their class schedules to their coaches and for each student to keep track of all their practices and meetings like a daily planner. I chose DevEx scheduler controls because most of the required features are already built into the control set and its UI is very clean. The calendar should look and function just like outlook or google calendar does.
I have already started coding the login pages and ASP.NET membership providers etc for login that you will start to work with. You have to just come up with a database structure for the calendar and code the calendar components.
All the calendar controls are provided by the DevExpress ASPxScheduler controls. Looking for great table structure and code seperated into DAL, BLL and Presentation layers. Be easy to understand with commented code so that its easy to expand in the future if necessary.
The project should mimic Google Calendar [[url removed, login to view]]
**Students Athlete class schedule/practice calendar/daily planner website**
Using Developer Express scheduling/calendar controls(ASPxScheduler suite: trial version is fine, I can buy the full version afterfinal product delivered <[url removed, login to view]>) create a scheduler which will be used by student athletes in different schools to provide their class schedules to their coaches and for each student athlete to keep track of all their practices/classes/meetings etc. I chose DevEx scheduler controls because most of the required features are already built into the control set and the UI looks just like google calendars. The calendar should look and function just like outlook or google calendar does.
I will include the VS2008 website to start. This has all the css, master pages and some parts of the login/membership provider built into it. I will also provide a starter database with some of the tables to start.
Based on who logs in they would get transported to either "Coach" or "Player"...at the Administrator level, thats just the super admin to create the "Coaches", each Coach creates the login for the players in his school.
Take a soccer team, there can be one or many coaches for a school. Each school has many players.
The players will add their schedules individually. The coaches can schedule time with a single player, or all the players simultaneously. (I am adding a zip file with a screenshot from outlook on how the coach should see the schedule when adding an appointment for all the players in his school simultaneously.)
I am using DevExpress controls 9.3.3, you can download the trial version from [url removed, login to view] ...trial version is fine for your purposes. Try to use the DevExpress controls as much as possible because it is much cleaner than the standard controls.
A school comprises of many different players (student athletes) and each player should be able to login to the website and add/edit/delete to their calendar. There are Coaches for each school that should be able to see each players calendar that are in his school. If he wants to see a superimposed calendar of all the players in his school or a select set of players in his school, he should be able to do that as well. This is sothat he can see where there are free blocks of time for all players in his school to add a meeting by the Coach to all the players calendars. If a meeting is added by a Coach, it should not be editable by the player, only the Coach. Just like an outlook calendar scheduling system (please see attached zip file screenshot).
A meeting/practice created by a player should be of a different color than meetings created by the schools coach. The players should be able to select colors for the different meetings they put into their schedule.
A Coach in one school is not allowed to look at other Schools players schedules, ie. the schools are independent of each other. The meetings that players insert should have a start time and end time, and also if that class is a one time occurrence of if the meeting will be repeated until a certain date. Eg. If a player in school A has a meeting on Wednesday at 9am to 11am, then he should have the ability to repeat that in his schedule every week until xx/yy/2009 or just insert it one time. Each individual meeting occurrence or the collection in a series of occurrence should be deletable.
Each school could have one coach or many, but all the coaches in the same school see the same thing and have the same features pertaining to his school only.
Calendar views include Day/Week/Month. Each school should have a Day start time (Eg. [url removed, login to view]) and a Day end time (eg. [url removed, login to view]), there mus tbe some way of setting the start and end times for each day for each Grade. Week goes from Sunday to Saturday.
Use Developer Express controls (trial version is fine). I can port to full version once final is delivered.
Use ASP.NET 3.5 C#, use of Linq is fine
Use MS SQL Server 2005/2008
Have a well thought out database structure comprising of tables and stored procedures.
Have a sound Data Access Layer and Business Layer, separate presentation layer.
** VERY IMPORTANT **
You have to use custom entity objects for the DAL and BLL. This is modelled directly off of the book 'ASP.NET 2.0 Website Programming: Problem-Design-Solution' You can google it and find many hits. Or search for 'TheBeerHouse' project.
What I mean by custom entity objects is that you will use stored procedures in the DAL and classes to store the DAL data. You will have similar classes in the BLL as well. The presentation layer will use the methods in the BLL. I dont want you to use any auto generation programs. This has to be hand written. I have already written some procedures and DAL/BLL classes to store user information etc that I will provide for you to model.
Looking for a very intuitive and appealing graphical user interface in the presentation layer for the players/coaches calendar views and the Add/Edit/Delete feature. It has to be easy to use and all the features above implemented. Please discuss if you think im missing some features, or recommend doing somethings differently. Always open to ideas and suggestions.
MODEL: Google Calendar [[url removed, login to view]]
REFERENCE: Book, 'ASP.NET 2.0 Website Programming: Problem-Design-Solution' Source Code, search for 'TheBeerHouse' project.