This project is an online code editor where users can create coding projects and share them with their friends. The main goal of this project was to further familiarize myself with many of the Web Application Frameworks used today in professional software development. It initially was planned, designed, developed, and tested over the course of a few weeks and was designed in a way to allow for future features to be added on.
Dynamic page rendering: Uses Vue.js and fetch API to send data updates to and receive updates from the backend without reloading the page.
User creation and Authentication: Website supports creation of and login of users. User preferences are automatically saved to their profiles in the database.
Generated File/Folder System: Web app implements a folder system with basic add/delete functionality to store coding files
Multiple Programming Language Support: Online code editor supports '.py', '.html', '.css', '.java', '.js' filetypes
Shareable Projects: Users can add others as collaborators on their projects so they can asynchronously contribute to the code
Django: for backend data management. Utilized the object-relational mapping layer to interact with the database.
Vue.js: for frontend reactivity. Used along with fetch API to make live updates to both the back and frontend based off user input.
CodeMirror: for frontend implementation of a code editor
MySQL: for local database.
PostgreSQL: for hosted database.
Python
HTML5
CSS
JavaScript
Publishing Projects: making projects public for all to see
Synchronous Collaboration: codefiles can be edited at the same time by multiple users in a 'google docs'-esque way
Integrated Version Control: integration for basic git commands