Online Compiler and Logger Test phase, srs, design phase and source code final deliverable
Category: Web Programming
Abstract /
Introduction
Compiler is a computer software that is used to translate the code written in high level language (like C++) into machine language instructions that can be understood by our computer. We have two types of compiler called desktop and web-based compilers. Desktop based compiler can be accessed through the system where it is installed. While the web-based compiler can be accessed through internet using any web browser installed on any device. OCL (online compiler and logger) is a web-based application that allows the users to write, compile and execute the program written in C++ language.
Functional Requirements:
You are required to create a web-based application called OCL that has two modules and fulfill the following requirements.
Front-end Module:
Following requirements should be fulfilled for front-end module.
- There should be an interface on front-end for the users to write, compile and execute the code of C++ programming language.
- Main interface will be divided into two sections called code section and output section.
- Code section will be used to write the code of C++ program.
- Output section will be used to display the output of program written in code section and compiled.
- If there is any error in the code then output section should display error message(s), possible reason of errors and location of errors.
- There should be user login/register system to keep record of all programs created by a user through OCL.
- When users login into application, all of their created programs should be visible in the user dashboard. User can open any of already created programs, modify, compile and execute it.
- There should be an option to save created program into “.cpp” format and download it.
- There should be an option to upload a “.cpp” file into our application and load into code section that can be compiled for error checking and output. (Admin can allow or block this feature from backend).
10.User should be able to copy/paste any code into or from code section (Admin can allow or block this feature from backend).
11.If admin block the copy/paste of content to/from code section, then user can only type the code.
12.On writing or copy/paste of code into code section or compiling the code, a log will be maintained for each action performed by user. This log can be viewed by admin from backend.
Back-end Module:
Back-end will be used to control the settings of our application and fulfill following requirements.
- There should be option to control (allow or block) copy/paste in code section on frontend.
- There should be option to control (allow or block) file uploading feature on frontend.
- There should be option to see the log of code created by user. Log will show the keystroke, copy/paste and compilation detail.
- Admin should be able to see the code of user generated from log. For this feature admin will select a user and a log file of that user.
Reference:
A similar application is available on the link given below but this application do not have some extra features (file upload/download, copy/paste blocking, log generation of every activity performed into code section and compilation) required in our application. https://www.tutorialspoint.com/compile_cpp_online.php
Tools:
ASP.Net with C# or PHP