Da’wa Technology is a new domain of Islamic Da’wa Center that is developed in order to offer online courses to everyone who is interested in learning computer programming. In previous documents, we have considered different aspects of the project that why this project is needed and what were the issues that center was facing at that time. In order to mitigate those errors and issues, this website was started so that the people could be easy to communicate with the center and get latest updates regarding new activities and courses being offered by the center.
In detailed design document, we will discuss different modules of the website and their functionality. The major purpose of the website is to provide online courses and updates to visitors who are looking for registering for new courses. However, there will be different modules or aspects that will be involved in the website that help the visitors in getting to know and accomplish motive of a website that is to reach the maximum number of people.
2. Sign Up Module
There are different activities that the center is organizing for students. However, people who are interested in attending those courses can register themselves for course on the same page where information for relevant is displayed. Different activities require a different kind of information from the users that is why the sign-up module for each activity will be different. However, there are some values that will be same for each module that is like Name of the users, Numbers, and Email. There is a separate sign up form for each of the activity and at the back end, it will have a separate table for each activity. It is because the record of each activity is to be stored separated from the other.
It will let the administrators view all the information related to different activities so that they can be contacted and informed about their registration for activity. Once the user will be registered then he will be informed about his registration through email and mobile number. It is the best way that users will be informed about incoming events. There are some of the information that is mandatory required for each of the activity. It is possible that users can also register for more than one activity. That is another reason that values or information of each of module should be stored in the separate module. If the same information is stored in the same table then there may be a collision in each module.
Once the register provides mandatory information in the given form relevant to the activity then all the information is stored in the database. Once information is stored a confirmation email is sent to registrar moreover a text message is also sent to the number provided. Here is an example of the Growing Power Activity registration form.
On the other hand, a notification will be sent to the administrator as well when there is a new application for a specific activity. It keeps an updated system to be routed among the administrators and applicants. Once the center will have to obtain contact number of many applicants it will keep on sending alerts to them about the introduction of new activities as well. This can eliminate the communication gap between center and applicants. Another benefit of this system is that once the immigrants who have no information about using computers and internet, their contact numbers can be saved and routine messages can be sent on their mobile phone that they will be carrying with them.
It is clear that the sign-up form can bring people near to center as sending them updates about upcoming programs on their mobile phones and emails. There are important checks to be implemented on each form entry as well because name should only contain alphabets not any number of special characters. In the same way, the phone number field should only accept numeric or some special characters because + sign may be used instead of 00. All these checks must be implemented on the client side so that only relevant information could be entered in the relevant fields.
3. Level 1 Page
On Level 1 page of software programming, there will be information related to the course and how the course will help users understand basics of computing and programming. At bottom of page Level1, there will be some radio buttons with different options to select from in order to get feedback from the users that how they were able to reach the website. It will give insight about the website that how the center is able to attract more and more people. Once that aspect that is attracting users to the website is identified the center will be putting it’s more effort in the same direction. It will surely increase the number of visitors on website and center will be able to offer its services to more and more people. This information will also be stored in separate table of database so that it is easy to do analysis on number of people visiting website and how
The administrator of the website will be the one to manage all the content of the website that will be displayed to everyone. However, the administrator will also be managing the content that is related to accounts on the website and other things related to web servers and email settings. In the previous module, we have seen that anyone who is interested in registering for a specific course can do it by filling up provided form for each activity. It means with every registration an account of each user will be created on the website. The accounts on the website are also of different types. These are not only the accounts of the people who will be registering for courses but also of teachers and administrators who will be making a new announcement on the website when the center plans for a new activity.
Here are some of the tasks that website administrator will be managing.
The users will have to get their username and passwords in order to access their emails and accounts on the website. The email accounts are necessary so that everyone should be aware of new courses being introduced or the center plans for a new activity. If the users will not have their email accounts on the website then they will not be able to get notified about upcoming events. However, this issue will be mitigated with the help of using email services of hosting company where our website will be published. It is easy in a way that the administrators of the website will not have to manage those email account separating and setting up a server for this purpose. While all this will be managed by hosting company.
On the other hand in case of managing content on website and courses or announcements, there is need of separate accounts for teachers and people who will be acting as administrators for the website. The teachers’ accounts should be given more options as they will have to make changes in the courses on the website or make new announcements for their students as well. Moreover, they can publish results of students attending courses. These accounts will be created on website beside of email accounts these accounts are meant for managing content and courses on the website.
The administrators of the website will be able to manage those accounts as well. Let us say that some new teacher joins the center then he will also require an account on the website. For this purpose, an account will be created by an administrator and its credentials will be given to the teacher. However, this account will not be like an ordinary account but with some extra privileges. The administrator will be able to delete that accounts, edit information of that account or create a new account for other teachers or administrators as well.
The website also needs to manage content on the website that may include announcements regarding new activity or alarm to those who have already registered for an activity. Whenever the center plans for a new activity for its users then it will have to display it on the website as well. This can be done on the home page or by creating a separate section of Updates on home or welcome page of the website. It is only about displaying content on the website, but the main purpose is to spread out the message among the people so they can get to know and join the course or activity as well.
So the same content will be emailed to everyone in the database who have registered with the center using email address assigned to them by website hosting company. Once email will be sent to all the registered users then will be notified of new activity or course. There is also an additional thing to be added to this content announcement scenario that is a text message should also be sent to those number which users used while registering for an activity. There are times when people do not check their email provided by some other company, then a text message will work fine for them.
All these tasks will be managed by the administrators of the website. This all procedure will be very simple that anyone who can even edit a PowerPoint presentation can also manage the website.
If the administrator wants to make new announcements, edit or delete the previous then he will go to Announcement button where he will be presented three buttons, New, Edit and Delete Announcements; from there he can choose the appropriate one to perform the specific announcement. If the admin wants to make a new announcement then he will click on the button where a new text editor window will be displayed to it in which he can add text, images or videos. The editor will be very simple matching the interface of Microsoft Word with a number of options. On the other hand, if the user wants to delete or edit an announcement, he will select the appropriate button and all the announcements will be displayed on the same page from where he can select one to edit or delete.
Another important task that administrator will be taking care of is about registration for new courses when it is announced on the website. The website does not only provide information for some specific activity or course but it also provides a registration form for each of the activity. The admin of website will provide information related to course and also registration form. However every course or activity being introduced may require different information from the users, the admin will have to design form each time for each activity. This may require some expertise but the admin panel of the website will also ease this process for administrators so that they can easily design new forms for each of new activity.