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 👨💻 , coders 💻 , and geeks 🤓 to do more with their tech.
See Hosted Version Here
- 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
 
- 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.
- 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
 
- 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
 
| 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 | 
Frontend Setup Instructions
- Fork and Clone the repo using
 
$ git clone https://github.com/rajat2502/CodeINN.git
$ cd CodeINN
- Change Branch to 
frontendusing 
$ git checkout frontend
- 
Get the API key from https://api.imgbb.com/ and replace it with
REACT_APP_IMGBB_API_KEYin.env.example - 
Get a new API key from https://docs.rapidapi.com/docs/keys and replace it with
REACT_APP_RAPID_API_KEYin.env.example - 
Rename the file
.env.exampleto.env - 
Install node dependencies
 
$ npm install
- Run Server at localhost using
 
$ npm start
Backend Setup Instructions
- Fork and Clone the repo using
 
$ git clone https://github.com/rajat2502/CodeINN.git
$ cd CodeINN
- Change Branch to 
backendusing 
$ 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
Frontend Directory Structure
📦CodeINN
┣ 📂.github
┃ ┣ 📂ISSUE_TEMPLATE
┃ ┃ ┣ 📜bug_report.md
┃ ┃ ┗ 📜feature_request.md
┃ ┗ 📜PULL_REQUEST_TEMPLATE.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
┣ 📜CODE_OF_CONDUCT.md
┣ 📜CONTRIBUTING.md
┣ 📜LICENSE
┣ 📜README.md
┣ 📜jsconfig.json
┣ 📜netlify.toml
┣ 📜package-lock.json
┣ 📜package.json
┣ 📜postcss.config.js
┗ 📜tailwind.js\
Backend Directory Structure
📦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
┃ ┃ ┣ 📜0001_initial.py
┃ ┃ ┗ 📜__init__.py
┃ ┣ 📜__init__.py
┃ ┣ 📜admin.py
┃ ┣ 📜apps.py
┃ ┣ 📜models.py
┃ ┣ 📜serializers.py
┃ ┣ 📜tests.py
┃ ┣ 📜urls.py
┃ ┗ 📜views.py
┣ 📂users
┃ ┣ 📂migrations
┃ ┃ ┣ 📜0001_initial.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
![]() Code Mirror 💻  | 
    Judge0 API 🧑💻  | 
FossUnited.Org 🌍  | 
        ![]() ImgBB API 🎨  | 
  
- 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
 
"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 | 
This project was made within the span of 2 days under FossHack2020 Hackathon
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!


