You are on page 1of 3

Project Proposal Document

Project Proposal Detail

1 Title of the Project


EasyPile
2 Statement of the Project (Product)
2.1 Detail statement of the project Product
EasyPile is a web based IDE. Which will compile on a remote linux server. Anyone
can write code in the frontend of the website with appropriate syntax highlighting.
Clients can also write standard inputs. After building the code in a remote pc it’ll
show output of the code according to the input. Clients can also upload a picture of
code which will be understood by using an OCR and after detecting the language
the code will be shown on the online code editor for further editing.
2.2 Motivation
We always wondered how web IDEs work which led to the birth of this project.
2.3 Goals
Our goal is to create an online code editor with syntax highlighting and remote
compilation. There will also be an online OCR to extract the source code and detect
the language.
2.4 Skill baseline (skill essential and skill have: how you will overcome deficiency)
Frontend Development, Backend Development, understanding API, using linux
bash commands to build and transfer files.
Our plan is to learn on the go and build what we lack. We are acquainted with most
of the essentials but, there might be some deficiencies which we’ll face head on.

3 Background to the Project (Product)


3.1 Commercial Background
IDEs are a goto software for coding now-a-days but it may require a complex
installation procedure. Web IDEs provide a more portable approach to coding
disregarding the specs, features or complex installation process of one’s own
machine, as a browser is the only requirement for it. There are a lot of free and paid
online IDE’s. Paid one’s provide more features than the free one. But, our goal is to
implement the core features of an online IDE.
3.2 Scientific background
EasyPile is based on server-client architecture. Where we have a linux based build
server and any client communicating through REST-API or our browser based client.

3.3 Technical background


● Server side programming for REST-API request handling. (Flask/Django)
● Bash Scripting. (Build System)
● Frontend Development (HTML, CSS, JS)

4 Project (Product) description


4.1 Product perspectives
People can use EasyPile anywhere anytime which will give them more sense of
flexibility and portability in life. They can also take a picture of some code and upload
it here to detect the language and also get the source code by using OCR.
4.2 General capabilities
● Code editor with syntax highlighting.
● Supports for C, C++ and python 2.0/3.0.
● Remote building of source code.
● OCR for codes.
4.3 General constraint
The Account system won’t be created this time. So, people won’t be able to save
their code online.A stable internet connection is required otherwise the system won’t
work properly.
4.4 User Characteristics
Anyone with basic coding knowledge or interested to code online can get the benefit
of using EasyPile.
4.5 Operational Environment
Any browser can be used as an operational environment to use EasyPile for coding
and web compilation. The server will be hosted on a remote linux server and the
server can also be used through REST-API requests from any client.

5 Project (Product) Specific Requirement


5.1 Capability requirement
Only capability requirement of EasyPile is for the users to know about the language
who he/she is trying to code.
5.2 Constraint requirement
Users must have a stable internet connection and a browser to code and build their
code in EasyPile.

6 Conclusion
EasyPile will be our stepping stone to learn about remote compilation and API usage. Also it’ll
strengthen our knowledge of web development and general software engineering.

You might also like