Giter VIP home page Giter VIP logo

unownone / fast-online-compiler Goto Github PK

View Code? Open in Web Editor NEW
11.0 11.0 4.0 423 KB

Fast Online Compiler is an API based Code Compiler/runner running on the cloud!

Home Page: https://unownone.github.io/Fast-online-compiler/

Python 67.45% HTML 27.88% Dockerfile 3.30% Shell 1.37%
collaborate compiler digitalocean docker docker-compose flask hacktoberfest hacktoberfest2022 ide nginx python

fast-online-compiler's Introduction

Hi there ๐Ÿ‘‹

I am Imon, alias unownone

unownone

GitHub User's stars GitHub followers

Connect with me here:

Twitter URL Linkedin

Few things about me

  • โ™ ๏ธ I'm Jack of All Trades ,master of None.
  • ๐Ÿง‘๐Ÿพโ€๐Ÿ’ป I don't love tags but you can call me a FullStack Developer who just loves writing Backend Logic.
  • ๐Ÿ‘ฏ I love to build products! Some of them are already pinned down under!
  • ๐Ÿ˜ฎ Pronouns He/Him

Lovin' โค๏ธ these since forever :


Rust Typescript Go Python

Frameworks that I work with โšก :


Rocket.rs axum.rs axum.rs Chi GoFiber FastAPI Django Rest Framework Flask

Nextjs SvelteKit Django React Tailwind

OpenAI Docker Traefik NGINX Portainer Kubernetes

SQS Cloudflare Pages AWS Lambda

Redis PostgreSQL MongoDB

Cloudflare AWS DigitalOcean GCP Heroku Firebase

Github Gitlab

Notion

Things about me ๐Ÿ” :

From: 19 November 2022 - To: 09 April 2024

Total Time: 1,346 hrs 42 mins

Other                      913 hrs 29 mins โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘   40.42 %

My stats ๐ŸŒ  :

Imon's GitHub stats Streaks

fast-online-compiler's People

Contributors

deepsourcebot avatar unownone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

fast-online-compiler's Issues

Implement `C#` Compilation

Summary

According to the roadmap , we need to support Golang too! So As we have implemented Java, Python , C , C++, we need to implement support for C# too!

To DO:

  • Set up a new function called runCSharp in app/compile.py which would try to compile the code.
  • In order for go to compile you also need to install go compiler in the docker container by adding it in the Dockerfile in project root. Please see this link to understand how you can do it.
  • To Add this to list of supported languages make sure to update the dictionary of supported languages and their targets , i.e. the function!

PS : If you have any issue regarding this , feel free to reply to this issue!

`DoS` Protection by IP/Time Based Rate Limiting

Summary

When the demo site was hosted , it was Dosed multiple times by giving bogus code snippets which would crash the system by eating up system resources. This was done by bombarding the server with multiple consecutive code snippets which would then crash the system.

Requirement:

Devise a way to implement a rate limiting tool either through nginx or through flask itself in order to mitigate this issue. One can go through these for flask and for nginx.

Implement `Go` Language Compilation

Summary

According to the roadmap , we need to support Golang too! So As we have implemented Java, Python , C , C++, we need to implement support for Golang too!

To DO:

  • Set up a new function called RunGo in app/compile.py which would try to compile the code.
  • Inorder for go to compile you also need to install go compiler in the docker container by adding it in the Dockerfile in project root. Please see this link to understand how you can do it.
  • To Add this to list of supported languages make sure to update the dictionary of supported languages and their targets , ie the function!

PS : If you have any issue regarding this , feel free to reply to this issue!

Increase Test Coverage

Summary

Even though tests are set up , the coverage is very low. Try to set up more test cases in the /tests/ folder .

Requirements

See how tests are defined in the /tests/compile/ folder and try to add more . Currently few test cases are implemented.

Implement `JavaScript` Compilation

Summary

According to the roadmap , we need to support Golang too! So As we have implemented Java, Python , C , C++, we need to implement support for JavaScript too!

To DO:

  • Set up a new function called runJS in app/compile.py which would try to compile the code.
  • In order for go to compile you also need to install go compiler in the docker container by adding it in the Dockerfile in project root. Please see this link to understand how you can do it.
  • To Add this to list of supported languages make sure to update the dictionary of supported languages and their targets , i.e. the function!

PS : If you have any issue regarding this , feel free to reply to this issue!

Implement `Swift` Compilation

Summary

According to the roadmap , we need to support Golang too! So As we have implemented Java, Python , C , C++, we need to implement support for Swift too!

To DO:

  • Set up a new function called runSwift in app/compile.py which would try to compile the code.
  • In order for go to compile you also need to install go compiler in the docker container by adding it in the Dockerfile in project root. Please see this link to understand how you can do it.
  • To Add this to list of supported languages make sure to update the dictionary of supported languages and their targets , i.e. the function!

PS : If you have any issue regarding this , feel free to reply to this issue!

Implement `Swift` Compilation

Summary

According to the roadmap , we need to support Golang too! So As we have implemented Java, Python , C , C++, we need to implement support for Swift too!

To DO:

  • Set up a new function called runSwift in app/compile.py which would try to compile the code.
  • In order for go to compile you also need to install go compiler in the docker container by adding it in the Dockerfile in project root. Please see this link to understand how you can do it.
  • To Add this to list of supported languages make sure to update the dictionary of supported languages and their targets , i.e. the function!

PS : If you have any issue regarding this , feel free to reply to this issue!

Implement DRY principle in `app/compile.py`

Summary

The code we use to compile/interpret code snippets have not followed DRY (Don't Repeat yourself) Principles that well . A more functional( or OOP based , functional preferred though) approach towards compiling a code sample ( optional ) and running a code sample would yield a better code reusability metrics.

It should also help us cover more ground , i.e. support more languages.

Hints:

This can be achieved by breaking down compilation and running into two different functions followed by one function that will take in the language and code snippet, which would decide what needs to be done for the given language.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.