*NOTE: I would like this done in PHP and MySQL.
This application can be broken up into smaller components.
1. Student View
2. Instructor View
3. Client View
*Login redirects user to appropriate View
1. Appointment Scheduler
2. Message Board
3. Post Announcements
4. Gradebook (view only)
5. Post File
6. Post Link
7. Manage students
8. Manage classes, clients
1. View Gradebook
2. View/Download Files
3. View Announcements
4. View Messages, Post Message on Messageboard
5. View Links
6. Sign up
1. View/Download Files
2. View Announcements
3. View Links
First and foremost I need an appointment scheduler. Please see page 10 of the handout for more information. The appointment scheduler allows the user (any visitor whether they have an account or not) to schedule a unique time with the instructor. I envision that the user will click a date on a calendar and then view the times for that day. When they schedule an appointment, they are notified by email.
Second, I need a messageboard. Look on page 14 for more info. This messageboard will include a simple mechanism for ranking posts base on relevance. This would be something similar to [url removed, login to view] where the higher ranked posts float near the top.
Third I need forms that post links, files, or announcements. For files I want the ability to add a file from the desktop or from a catalogue of files already on the server. Right now I'm thinking this would only be available to the instructor.
Fourth, I need a gradebook--view only. That means I want the application to be able to import a CSV from gradebook pro and enter that into the database. Page 8 has some information on that but is outdated, I only want a "view" capability. It doesn't have to be able to enter in specific data for students or anything--so you're not building a fully functional gradebook.
Fifth, I need the instructor to be able to add new classes, manage students, manage file, links, announcements, etc. The instructor should be able to add admin accounts. For student rolls, I want the instructor to be able to add students to a class manually or to upload their information from a CSV file into the database. The student will not be able to sign up for a user account until their initial information is in the database. That keeps random people from signing up for the instructor's classes. Also some students have more than one class by this same instructor.
The Client View is much like the student view minus the gradebook, messageboards, etc. Client logins can only be created by the instructor.
Also students need to be able to update their information. And I would like email notifications for certain activity. On the opening page for each view (instructor, client or student) I would like to show recent activity such as when the last post was made on a messageboard.
The last thing is that I want the instructor to be able to reuse a class or should I say have a template for a class that he uses again with a new set of students.
I have provided a handout to be helpful for you. As part of this project you will need to make simple forms but realize that they don't have to be fancy. On many of the pages I have given a sample of what I think the database tables should look like for a particular section. This is provided to be helpful, not restrictive to you. If there is a better way to design the database, I'm all for it.
I am looking for qualified programmers only. Please read the handout and feel free to ask questions before giving your bid. Do not make a bid without looking at the handout. Programmers with experience, good ratings and/or portfolio will increase their chances of winning this project.
The #1 way to win this project is to communicate clearly with me what you can do, being specific on how you will tackle this problem, with your experience, etc. assuring me that you are able to complete what I've asked you to do.