Skip to content

Web application to help convert one programming language's code to another within seconds while also enabling the user to generate code using just logic.

License

Notifications You must be signed in to change notification settings

akshatvg/So-Many-Languages

Repository files navigation

So Many Languages

GitHub code size in bytes GitHub last commit GitHub stars GitHub forks

Web application to help convert one programming language's code to another within seconds while also enabling the user to generate code using just logic.

So Many Languages Logo

Generic badge

Link for demo

Generic badge

Requirements

GitHub top language

The source code of this project is written in HTML/CSS/JS, Flask, IBM Watson. So, you need to install requirements.txt to run this project.

Inspiration

Our team consists of 3 developers and all of us realised that we face the same problem- it's very hard to memorise all syntaxes since each language has its own different syntax. This not only causes confusion but also takes up a lot of our time.

What it does

So Many Languages has various features to motivate students to learn competitive coding while also making the process easier. SML helps:

  1. Save time
  2. Immediate language conversion
  3. One of its kind language freedom
  4. Voice to code templating
  5. Code accurately
  6. Code programs by just knowing the logic (no need to remember syntaxes)
  7. Take tests and practice while also earning rewards for the same
  8. Simple plain English to code

How to run

1) git clone https://github.com/akshatvg/So-Many-Languages
2) cd So-Many-Languages
3) pip install -r requirements.txt
4) python3 run.py

How to use

  1. Run the software as mentioned above.
  2. Use the default page to upload code of a programming language to be converted into any of the other listed languages in the dropdown menu.
  3. Use the Voice to Code Templating page to give out intents to be converted into code. eg: "Open C++", "Show me how to print a statement", etc.
  4. Use the Compete and Practice page to try out language specific programs to test out how much you learnt, compete against your peers and earn points.
  5. Use the Rewards page to redeem the earnt Points.

Its advantage

  1. Run the code from the compiler to get desired result in the same place.
  2. Easy to use and fast processing.
  3. Save time from scrolling through Google searching for different answers and syntaxes by having everything come up on its own in one single page.
  4. Learn and earn at the same time through the Compete and Rewards page.

Target audience

Students- learning has no age & developers need to keep learning to stay updated with trends.

Business model

We intend to provide free code templating and conversion for particular common languages like C++, Python, Java, etc and have paid packs for exclusive languages like Swift, PHP, JavaScript, etc.

Marketing strategy

  1. For every referral, points will be earned which help purchase premium and exclusive language packs once enough points are saved. These points can also be used to purchase schwags.
  2. Schwags and discount benefits for Campus Ambassadors in different Universities and Colleges.

How we built it

We built the assistive educative technology using:

  1. HTML/ CSS/ JavaScript/ Bootstrap (Frontend Web Development),
  2. Flask (Backend Web Development),
  3. IBM Watson (To Gather User's Intent- NLU),
  4. PHP, C++, Python (Test Programming Languages).

Flow Diagram

Challenges we ran into

Other than the jet lag we still have from travelling all the way from India and hence lack of sleep, we came across a few technical challenges too. Creating algorithms to convert PHP code wasn't very easy at first, but we managed to pull it off in the end.

Accomplishments that we're proud of

Creating a one of its kind product.

  1. We are the first ever educative technological assistant to help learn and migrate to programming languages while also giving users a platform to practice and test how much they learnt using language specific problems.
  2. We also help users completely convert one language's code to another language's code accurately within seconds.

What we learned

This was our team's first international hackathon. We met hundreds of inspiring coders and developers who tried and tested our product and gave their views and suggestions which we then tried implementing. We saw how other teams functioned and what we may have been doing wrong before. We also each learnt a technical skill for the project (Akshat learnt Animations and basics of Flask, Anand learnt using IBM Watson to its greatest extent and Sandeep learnt PHP just to implement it into this project).

What's next for So Many Languages

We intend to add support for more programming languages as soon as possible while also making sure that any upcoming bugs are rectified.

Clone Succeeded but Checkout Failed?

If you are not able to clone this repository, check out this link.

Need help?

Feel free to contact me via Facebook.

Invite me to connect on LinkedIn.

Facebook Quora Instagram Snapchat Medium

 _____ _                 _     __   __            
|_   _| |               | |    \ \ / /            
  | | | |__   __ _ _ __ | | __  \ V /___  _   _   
  | | | '_ \ / _` | '_ \| |/ /   \ // _ \| | | |  
  | | | | | | (_| | | | |   <    | | (_) | |_| |  
  \_/ |_| |_|\__,_|_| |_|_|\_\   \_/\___/ \__,_|  
                                                  
                                                  
______                                            
|  ___|                                           
| |_ ___  _ __                                    
|  _/ _ \| '__|                                   
| || (_) | |                                      
\_| \___/|_|                                      
                                                  
                                                  
______      _               _   _               _ 
| ___ \    (_)             | | | |             | |
| |_/ / ___ _ _ __   __ _  | |_| | ___ _ __ ___| |
| ___ \/ _ \ | '_ \ / _` | |  _  |/ _ \ '__/ _ \ |
| |_/ /  __/ | | | | (_| | | | | |  __/ | |  __/_|
\____/ \___|_|_| |_|\__, | \_| |_/\___|_|  \___(_)
                     __/ |                        
                    |___/                         

 

License

MIT © Akshat Gupta

GitHub license Twitter Follow


if (youEnjoyed) {
    starThisRepository();
}

         _        _           _    _____             _        
    /\   | |      | |         | |  / ____|           | |       
   /  \  | | _____| |__   __ _| |_| |  __ _   _ _ __ | |_ __ _ 
  / /\ \ | |/ / __| '_ \ / _` | __| | |_ | | | | '_ \| __/ _` |
 / ____ \|   <\__ \ | | | (_| | |_| |__| | |_| | |_) | || (_| |
/_/    \_\_|\_\___/_| |_|\__,_|\__|\_____|\__,_| .__/ \__\__,_|
                                               | |             
                                               |_|