\documentclass[titlepage]{article}[6pt]
\usepackage{geometry}
\geometry{ portrait, margin=0.8in}
\usepackage{silence}
\WarningFilter{latex}{Command \InputIfFileExists}
\usepackage{fontspec}
\usepackage{xunicode} 
\usepackage{multicol}
\usepackage{polyglossia}
\usepackage{sectsty}
\usepackage{amsmath}
\usepackage{blkarray}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{float}
\DeclareMathOperator*{\argmax}{argmax} % thin space, limits underneath in displays

\sectionfont{\fontsize{14}{15}\selectfont}
%%% For those cool-looking menus and keystrokes
\usepackage{menukeys}

%%% For the xelatex (and other LaTeX friends) logos
\usepackage{hologo}

%%% For the awesome fontawesome icons!
\usepackage{fontawesome}

\usepackage[hyphens]{url}


\setmainlanguage{english}
\setotherlanguages{arabic,hindi,sanskrit,greek,thai} %% or other languages


% Main serif font for English (Latin alphabet) text
\setmainfont[Ligatures=TeX]{Noto Serif}
\setsansfont[Ligatures=TeX]{Noto Sans}
\setmonofont{Noto Mono}

% define fonts for other languages
\newfontfamily\arabicfont[Script=Arabic]{Noto Naskh Arabic}
\newfontfamily\devanagarifont[Script=Devanagari]{Noto Serif Devanagari}
% \newfontfamily\greekfont[Script=Greek]{GFS Artemisia}
\newfontfamily\thaifont[Script=Thai]{Noto Serif Thai}


%%% CJK needs a different treatment
\usepackage[space]{xeCJK}

%%% Assuming Chinese is the main CJK language...
\setCJKmainfont[
  BoldFont=WenQuanYi Zen Hei,
  ItalicFont=AR PL KaitiM GB]
  {AR PL SungtiL GB}
\setCJKsansfont{Noto Sans CJK SC}
\setCJKmonofont{cwTeXFangSong}

%%% Define fonts for Japanese and Korean
\newCJKfontfamily\japanesefont{IPAMincho}

%%% You can also upload your own font files
% \newCJKfontfamily\koreanfont{[UnGraphic.ttf]}
%%% ...or go along with a font available on the server
\newCJKfontfamily\koreanfont{Baekmuk Batang}
\font\myfont=cmr12 at 48pt
\title{{\textbf{\myfont{COURSEBOOK}\\}}{SOFTWARE LAB PROJECT}\\{INDIAN INSTITUTE OF TECHNOLOGY, BOMBAY}}
\author{ \textbf{Shubham Mishra}\\193050045\\\textbf{Rajesh Mahale}\\193050063\\\textbf{Aman Jangde}\\193050084 }
\date{27th November, 2019}
\begin{document}
\maketitle

%\begin{multicols}{2}
\section{Introduction}

Coursebook as the name suggests is like an open online book which is accessible to both students as well as professors. Coursebook is an online discussion forum between professors and students. Coursebook also facilitates the professor to float courses which he/she will be offering to instruct. Students after successfully logging in, are able to view the registered subjects as well as the subjects currently offered by different professors.

A student can request the respective professor of course of his choice to join the discussion forum for that subject. The student will be added to the discussion forum of that subject after acceptance by the professor.

A student can add new topic to the discussion with the option to include the professor in that topic or not. After adding a topic all the students registered in that course will be able to participate in discussion. Professor can also add topics which will be accessible for students registered for that course. Each message is associated with two options of agree or disagree. This options are useful for consensus among students. 


 
\section{Motivation}

Problems and needs are the best motivators for any project. In the era of digital communication, finding perfect time slot suitable according to everyone's schedule is almost impossible. This motivated us towards developing a discussion forum which is accessible from any browser any time. This will suffice needs of students and professors.

Presently discussions takes place on social media applications. The same social media applications are used for entertainment purpose also. This multipurpose functionality of social media applications, many times leads to important informational messages being lost among random memes and entertaining content. This motivated us for a dedicated discussion forum for colleges and universities among students and professors.

Sometimes it is necessary to have a discussion among students for a stable consensus or filtering requests before including the professor in the discussion. The present discussion forums do not support this type of facility to exclude the professor from a discussion topic. The need of this facility motivated us to have a discussion forum providing this facility to the students.

The current discussion forums or Learning Management Systems show the courses in the student window even after withdrawing the course. This makes the student window teeming with subjects which are not useful for him/her. This motivated us to provide a facility which removes the withdrawn courses from the student window instantly after the student withdrew a course.

Many a times the messages are of polling type which requires the answers in agree or disagree types. In the current discussion forums such polling is handled by replying to the respective message. This creates an overhead as for each message a new instance has to be created. This motivated us for providing options of agree and disagree which counts the yes-men and naysayers.

\section{Dependencies}
\begin{itemize}
    \item Python3
    \item Django
\end{itemize}

\section{Using Coursebook}

Using the coursebook is very simple. You need to have installed the dependencies.

To install python3 on ubuntu, run the following command in your terminal.
\begin{itemize}
    \item \textbf{\textit{sudo apt-get install python3.6}}
\end{itemize}

To install Django on ubuntu, run the following command in your terminal.
\begin{itemize}
    \item \textbf{\textit{sudo apt-get install python3-django}}
\end{itemize}


One needs to git clone the project. After that open terminal in main directory and run following commands.

\begin{itemize}
    \item \textbf{\textit{python3 manage.py makemigrations}}
    \item \textbf{\textit{python3 manage.py migrate}}
    \item \textbf{\textit{python3 manage.py runserver}}
\end{itemize}

All the functionalities and how to use them is depicted ahead.

\subsection{Student}

The student first needs to sign up.
\begin{figure}[H]
\centering
\includegraphics[width=0.7\columnwidth]{SignUp}
\end{figure}

After successfully signing up student can login into the discussion forum using his credentials.
\begin{figure}[H]
\centering
\includegraphics[width=0.7\columnwidth]{Login}
\end{figure}

After logging in student is able to switch between his registered subjects and available subjects floated by professors. Student can request the professor to join the discussion forum for the subjects of his choice from the list of available subjects.
\begin{figure}[H]
\centering
\includegraphics[width=0.7\columnwidth]{Available}
\end{figure}

A student can add new topic to the existing list of topics in any of his registered subjects. A student can also participate in discussion on an existing topic created by professor or a fellow student. A student can write his message in the discussion topic and it will be visible to all those participating in the discussion topic. A student can also show his consent to a message by clicking on agree or discontent by clicking on disagree.
\begin{figure}[H]
\centering
\includegraphics[width=0.7\columnwidth]{Chat}
\end{figure}

A student can also withdraw a course from his list of registered courses.
\begin{figure}[H]
\centering
\includegraphics[width=0.7\columnwidth]{MySubjects}
\end{figure}

\subsection{Professor}

A professor needs to sign up first as a professor.
After logging in using the credentials the professor can float a new subject. Also professor can go to the discussion window by clicking on the course code. Professor can view the students registered for the course and pending requests from students to join the discussion forum for the course.
\begin{figure}[H]
\centering
\includegraphics[width=0.7\columnwidth]{ViewStudents}
\end{figure}

Professor can accept the request from students and also remove access to students for the discussion forum.
\begin{figure}[H]
\centering
\includegraphics[width=0.7\columnwidth]{ProfMySubjects}
\end{figure}

\section{Future Scope}

The project, Coursebook, solves few of the prime issues faced by students in IIT Bombay. IIT Bombay currently uses Moodle as the prime Learning Management System. Few of the functionalities of Coursebook can be added to Moodle LMS. This extension of Moodle LMS will be quite helpful to students.

\end{document}