Back to Project List

CodeINN

CodeINN is an instant code editor 📃, that makes programming and development easier. Practice quickly and directly from your web browser, without any setup needed. CodeINN gives the perfect environment to developers techn

Repository Video ▶️
codeinn



CodeINN

CodeINN is an instant code editor :pagewithcurl:, that makes programming and development easier. Practice quickly and directly from your web browser, without any setup needed. CodeINN gives the perfect environment to developers :mantechnologist: , coders :computer: , and geeks :nerdface: to do more with their tech.

> See Hosted Version Here

HitCount MIT License All Contributors Open Issues Pull Requests Tweet watchers stars forks

Features

  • Single Platform for web development, programming and markdown, without the need for constantly switching tools
  • live preview of the code changes
  • Syntax higlighting, bracket matching, code formatting and autocompletion
  • Easy save, share, reset or delete options
  • Lightweight and fast
  • Supports C, C++, Python, HTML, CSS, JS

Demo Video

CodeINN an online code editor

Browser Support

  • Firefox: version 4 and up
  • Chrome: any version
  • Safari: version 5.2 and up
  • Internet Explorer/Edge: version 8 and up
  • Opera: version 9 and up > Note: Support for modern mobile browsers is experimental. The website is not responsive in mobile devices until now.

Technology Stack to be used:

  • Frontend: ReactJS, React-Hooks, React-Codemirror-2
  • Backend: Django, Django Rest Framework
  • External APIs: ImgBB API (For hosting images)
  • IDE: VS Code
  • Design: Adobe Photoshop, Canva
  • API Testing & Documentation: Postman
  • Version Control: Git and GitHub
  • Database: Sqllite3
  • Hosting: Heroku, Netlify

Run in Postman Code Quality Code Coverage Build Passing - Frontend: https://codeinn.netlify.app/ - Backend: https://codeinn.herokuapp.com/ - Postman Collection: https://app.getpostman.com/run-collection/3023eb862bb9b0f8a287 - Postman Docs: https://documenter.getpostman.com/view/10608582/TVCmRjz6

How to Get Started?

Dependencies Up to date Requirements Up To Date Node NPM ESLint Python Django

GitHub Repository Structure

S.No. Branch Name Purpose
1. master contains the main code
2. backend contains all backend code
3. frontend contains all frontend code
4. documentation contains all documentation related changes

Setup

<summary>Frontend Setup Instructions</summary>

  • Fork and Clone the repo using
$ git clone https://github.com/rajat2502/CodeINN.git
$ cd CodeINN
  • Change Branch to frontend using
$ git checkout frontend
  • Install node dependencies
$ npm install
  • Run Server at localhost using
$ npm start

<summary>Backend Setup Instructions</summary>

  • Fork and Clone the repo using
$ git clone https://github.com/rajat2502/CodeINN.git
$ cd CodeINN
  • Change Branch to backend using
$ git checkout backend
  • Setup Virtual environment
$ python3 -m venv env
  • Activate the virtual environment
$ source env/bin/activate
  • Install dependencies using
$ pip install -r requirements.txt
  • Make migrations using
$ python manage.py makemigrations
  • Migrate Database
$ python manage.py migrate
  • Create a superuser
$ python manage.py createsuperuser
  • Run server using
$ python manage.py runserver

Directory Structure

<summary>Frontend Directory Structure</summary>

📦CodeINN\ ┣ 📂.github\ ┃ ┣ 📂ISSUETEMPLATE\ ┃ ┃ ┣ 📜bugreport.md\ ┃ ┃ ┗ 📜featurerequest.md\ ┃ ┗ 📜PULLREQUESTTEMPLATE.md\ ┣ 📂public\ ┃ ┣ 📜fav.png\ ┃ ┣ 📜index.html\ ┃ ┣ 📜logo192.png\ ┃ ┣ 📜logo512.png\ ┃ ┗ 📜manifest.json\ ┣ 📂src\ ┃ ┣ 📂api\ ┃ ┃ ┗ 📜index.js\ ┃ ┣ 📂assets\ ┃ ┃ ┣ 📂fonts\ ┃ ┃ ┃ ┗ 📜ProximaNovaRegular.ttf\ ┃ ┃ ┗ 📂img\ ┃ ┃ ┃ ┣ 📜1.gif\ ┃ ┃ ┃ ┣ 📜1.jpeg\ ┃ ┃ ┃ ┣ 📜1.png\ ┃ ┃ ┃ ┣ 📜2.png\ ┃ ┃ ┃ ┣ 📜3.png\ ┃ ┃ ┃ ┣ 📜4.png\ ┃ ┃ ┃ ┣ 📜5.png\ ┃ ┃ ┃ ┣ 📜6.png\ ┃ ┃ ┃ ┣ 📜7.png\ ┃ ┃ ┃ ┣ 📜8.webp\ ┃ ┃ ┃ ┣ 📜9.webp\ ┃ ┃ ┃ ┗ 📜logo.png\ ┃ ┣ 📂components\ ┃ ┃ ┣ 📂Dashboard\ ┃ ┃ ┃ ┣ 📜AddCodeSnip.jsx\ ┃ ┃ ┃ ┣ 📜AddMkdSnip.jsx\ ┃ ┃ ┃ ┣ 📜AddWebSnip.jsx\ ┃ ┃ ┃ ┣ 📜CodeSnip.jsx\ ┃ ┃ ┃ ┣ 📜Dashboard.jsx\ ┃ ┃ ┃ ┗ 📜index.js\ ┃ ┃ ┣ 📂Home\ ┃ ┃ ┃ ┣ 📜Home.jsx\ ┃ ┃ ┃ ┗ 📜index.js\ ┃ ┃ ┣ 📂Login\ ┃ ┃ ┃ ┣ 📜Login.jsx\ ┃ ┃ ┃ ┗ 📜index.js\ ┃ ┃ ┣ 📂MarkDownPreviewer\ ┃ ┃ ┃ ┣ 📜MarkDownPreviewer.jsx\ ┃ ┃ ┃ ┗ 📜index.js\ ┃ ┃ ┣ 📂ProgramEditor\ ┃ ┃ ┃ ┣ 📜ProgramEditor.jsx\ ┃ ┃ ┃ ┗ 📜index.js\ ┃ ┃ ┣ 📂Signup\ ┃ ┃ ┃ ┣ 📜Signup.jsx\ ┃ ┃ ┃ ┗ 📜index.js\ ┃ ┃ ┣ 📂WebEditor\ ┃ ┃ ┃ ┣ 📜BottomBar.jsx\ ┃ ┃ ┃ ┣ 📜DefaultWindow.jsx\ ┃ ┃ ┃ ┣ 📜DisplayWindow.jsx\ ┃ ┃ ┃ ┣ 📜Iframe.jsx\ ┃ ┃ ┃ ┣ 📜ImageUpload.jsx\ ┃ ┃ ┃ ┣ 📜Shortcuts.jsx\ ┃ ┃ ┃ ┣ 📜WebCodeEditor.jsx\ ┃ ┃ ┃ ┣ 📜WebEditor.jsx\ ┃ ┃ ┃ ┗ 📜index.js\ ┃ ┃ ┣ 📜CodeEditor.jsx\ ┃ ┃ ┣ 📜Footer.jsx\ ┃ ┃ ┣ 📜Icon.jsx\ ┃ ┃ ┣ 📜Modal.jsx\ ┃ ┃ ┗ 📜Navbar.jsx\ ┃ ┣ 📂styles\ ┃ ┃ ┣ 📜App.css\ ┃ ┃ ┣ 📜index.css\ ┃ ┃ ┗ 📜tailwind.css\ ┃ ┣ 📂utils\ ┃ ┃ ┣ 📜getIcons.js\ ┃ ┃ ┣ 📜helpers.js\ ┃ ┃ ┣ 📜parseMarkdown.js\ ┃ ┃ ┗ 📜useModal.js\ ┃ ┣ 📜App.jsx\ ┃ ┗ 📜index.js\ ┣ 📜.all-contributorsrc\ ┣ 📜.gitignore\ ┣ 📜CODEOF_CONDUCT.md\ ┣ 📜CONTRIBUTING.md\ ┣ 📜LICENSE\ ┣ 📜README.md\ ┣ 📜jsconfig.json\ ┣ 📜netlify.toml\ ┣ 📜package-lock.json\ ┣ 📜package.json\ ┣ 📜postcss.config.js\ ┗ 📜tailwind.js\

<summary>Backend Directory Structure</summary>

📦CodeINN\ ┣ 📂.vscode\ ┃ ┗ 📜settings.json\ ┣ 📂api\ ┃ ┣ 📂migrations\ ┃ ┃ ┗ 📜init.py\ ┃ ┣ 📜init.py\ ┃ ┣ 📜admin.py\ ┃ ┣ 📜apps.py\ ┃ ┣ 📜models.py\ ┃ ┣ 📜tests.py\ ┃ ┣ 📜urls.py\ ┃ ┗ 📜views.py\ ┣ 📂codeinn\ ┃ ┣ 📜init.py\ ┃ ┣ 📜asgi.py\ ┃ ┣ 📜settings.py\ ┃ ┣ 📜urls.py\ ┃ ┣ 📜views.py\ ┃ ┗ 📜wsgi.py\ ┣ 📂snips\ ┃ ┣ 📂migrations\ ┃ ┃ ┣ 📜0001initial.py\ ┃ ┃ ┗ 📜init.py\ ┃ ┣ 📜init.py\ ┃ ┣ 📜admin.py\ ┃ ┣ 📜apps.py\ ┃ ┣ 📜models.py\ ┃ ┣ 📜serializers.py\ ┃ ┣ 📜tests.py\ ┃ ┣ 📜urls.py\ ┃ ┗ 📜views.py\ ┣ 📂users\ ┃ ┣ 📂migrations\ ┃ ┃ ┣ 📜0001initial.py\ ┃ ┃ ┗ 📜init.py\ ┃ ┣ 📜init.py\ ┃ ┣ 📜admin.py\ ┃ ┣ 📜apps.py\ ┃ ┣ 📜forms.py\ ┃ ┣ 📜models.py\ ┃ ┣ 📜serializers.py\ ┃ ┣ 📜tests.py\ ┃ ┣ 📜urls.py\ ┃ ┗ 📜views.py\ ┣ 📜.gitignore\ ┣ 📜README.md\ ┣ 📜manage.py\ ┗ 📜requirements.txt

Slack Channel

chat on slack

Special Thanks To:


Code Mirror

💻

Judge0 API

:technologist:

FossHack2020

:earth_africa:

ImgBB API

🎨

Future Prospects:

  • [ ] Add more views in Web like full-screen view, Editor view, etc
  • [ ] Add support for more programming languages in programming mode
  • [ ] GitHub integrations for creating the repository
  • [ ] Hosting the web snippet on a suitable hosting platform
  • [ ] Feature to fork the programs in all views/modes
  • [ ] Add compatibility to popular web frameworks
  • [ ] Grow the community size and create beginner-friendly issues

Team:

> "Alone we can do so little; together we can do so much."

S.No. Name Role GitHub Username:octocat:
1. Pragati Verma Backend Development @PragatiVerma18
2. Rajat Verma Frontend Developer @rajat2502
3. Shristi Singh UI Designer/Frontend Developer @shristisingh29

FossHack2020

> This project was made within the span of 2 days under FossHack2020 Hackathon

FossHack2020

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Rajat Verma

💻

Pragati Verma

💻

Shristi Singh

🎨

This project follows the all-contributors specification. Contributions of any kind welcome!

Uses Git Uses HTML Uses CSS Uses JS Built with love Built By Developers

Rajat Verma
Paurush Tiwari
Shristi Singh
Pragati Verma
  • Demo video added, link: https://youtu.be/xdtb31djE1Y
September 13, 2020
  • Added postman collection
  • Now working on the video :)
September 13, 2020
  • Compressed images
  • Load time is much faster now
  • Improved Docs
September 13, 2020
  • Fixed some minor bugs in the UI
  • Working on optimizing the API call time
September 13, 2020
  • Added IDE support
  • Improved footer UI
  • Improved Docs
September 13, 2020
  • Working on the programming IDE
  • Selected the languages to support in the first version
  • UI finalised
September 13, 2020
  • Integrate markdown previewer with snip APIs Screenshot from 2020-09-12 21-27-18.png
September 12, 2020
  • Added markdown previewer
September 12, 2020
  • Improve the UI for Web Editor
  • Working on choosing the programming languages to support
September 12, 2020
  • Added Web Editor
  • Integrate Image upload API
  • Integrate Snip APIs
  • Added Snip APIs (backend)
September 12, 2020
  • Add Routes for Web Editor and Program IDE
  • Working on UI for Web Editor
September 12, 2020
  • Integrate Auth APIs with frontend
  • Deployed Website (work till now)
  • Working on the design of other routes
September 12, 2020
  • Added Auth APIs
  • Updated Documentation
  • Added footer UI
September 12, 2020
  • Initialize project
  • Add routes for login, signup, home, and dashboard
  • Add Home page UI
  • Creating auth APIs in backend
September 12, 2020

Project created by Rajat Verma

September 8, 2020