GSOC2019AppStore: Difference between revisions
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
* '''Mentors:''' [mailto:adadeepak8@gmail.com Ankit Deepak], [mailto:abhijithabhayam@gmail.com Abhijith Anilkumar] | * '''Mentors:''' [mailto:adadeepak8@gmail.com Ankit Deepak], [mailto:abhijithabhayam@gmail.com Abhijith Anilkumar] | ||
* '''Abstract:''' The goal of the project is to link the existing app store with bake build system and improve the AppStore. The project aims to support command line installation and | * '''Abstract:''' The goal of the project is to link the existing app store with the bake build system and improve the AppStore. The project aims to support command line installation and update of modules. Once this project is complete, ns-3 users will be able to install a module on AppStore from the command line. | ||
* '''Code:''' to be added | * '''Code:''' to be added | ||
Line 17: | Line 17: | ||
* '''Documentation:''' to be added | * '''Documentation:''' to be added | ||
* '''About Me:''' I am a 3rd year Computer Science undergraduate student from National Institute of Technology Karnataka (NITK), Surathkal, India. I have worked to implement [https://github.com/mishal23/Implementation-of-TCP-New-Vegas-in-ns3/ TCP New Vegas] in ns-3. I have about 1.5 years of experience in Python and Django. | * '''About Me:''' I am a 3rd-year Computer Science undergraduate student from National Institute of Technology Karnataka (NITK), Surathkal, India. I have worked to implement [https://github.com/mishal23/Implementation-of-TCP-New-Vegas-in-ns3/ TCP New Vegas] in ns-3. I have about 1.5 years of experience in Python and Django. | ||
= Technical Approach = | = Technical Approach = | ||
The App Store is built using the Django framework. The primary aim is to link the AppStore with bake which would require setting up REST API to the existing codebase for install/update/latest version of the modules, [https://www.django-rest-framework.org/ django-rest-framework] will be used for the same. It was found out that the AppStore is built on Python2.7 and since the support is going to end in 2020, the first step of the project will be to port the AppStore codebase to the latest version of Python and Django. The REST APIs made would be used to add the command line support of install and update to bake. Later to enhance the features of the AppStore, GitHub and GitLab OAuth will be added, download statistics for each of the modules will be added. Later to support Multi-Threaded Comments, [https://disqus.com/ disqus] will be used and the rating UI will be revamped using the [https://github.com/wildfish/django-star-ratings django-star-ratings] library. A detailed description of the project is available [https://docs.google.com/document/d/1AnTbOZlEN6RLyGtxfRS2KsiMvF4oLnQKlQuxiNMbWr8/edit?usp=sharing here] | |||
= Milestones and Deliverables = | = Milestones and Deliverables = | ||
The entire GSoC period is divided into 3 phases. The deliverable at the end of each phase is as mentioned below | The entire GSoC period is divided into 3 phases. The deliverable at the end of each phase is as mentioned below: | ||
===Phase 1=== | ===Phase 1=== | ||
* Refactoring the | * Refactoring the existing code and port existing code to Python 3 and the latest version of Django | ||
* REST APIs for install and latest version of the extension for the bake | * REST APIs for install and latest version of the extension for the bake build system | ||
* Add install option to the bake build system | * Add install option to the bake build system | ||
Line 36: | Line 37: | ||
===Phase 3=== | ===Phase 3=== | ||
* Multi Threaded Comment using Disqus | * Multi-Threaded Comment using Disqus | ||
* Dependency Management | * Dependency Management | ||
* Ratings for the extensions on the AppStore | * Ratings for the extensions on the AppStore | ||
= Weekly Reports = | = Weekly Reports = |
Revision as of 08:43, 11 May 2019
Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects
HOWTOs - Installation - Troubleshooting - User FAQ - Samples - Models - Education - Contributed Code - Papers
Return to GSoC 2019 Projects page.
Project overview
- Project name: Improving the ns-3 AppStore and linking with bake
- Student: Mishal Shah
- Mentors: Ankit Deepak, Abhijith Anilkumar
- Abstract: The goal of the project is to link the existing app store with the bake build system and improve the AppStore. The project aims to support command line installation and update of modules. Once this project is complete, ns-3 users will be able to install a module on AppStore from the command line.
- Code: to be added
- Documentation: to be added
- About Me: I am a 3rd-year Computer Science undergraduate student from National Institute of Technology Karnataka (NITK), Surathkal, India. I have worked to implement TCP New Vegas in ns-3. I have about 1.5 years of experience in Python and Django.
Technical Approach
The App Store is built using the Django framework. The primary aim is to link the AppStore with bake which would require setting up REST API to the existing codebase for install/update/latest version of the modules, django-rest-framework will be used for the same. It was found out that the AppStore is built on Python2.7 and since the support is going to end in 2020, the first step of the project will be to port the AppStore codebase to the latest version of Python and Django. The REST APIs made would be used to add the command line support of install and update to bake. Later to enhance the features of the AppStore, GitHub and GitLab OAuth will be added, download statistics for each of the modules will be added. Later to support Multi-Threaded Comments, disqus will be used and the rating UI will be revamped using the django-star-ratings library. A detailed description of the project is available here
Milestones and Deliverables
The entire GSoC period is divided into 3 phases. The deliverable at the end of each phase is as mentioned below:
Phase 1
- Refactoring the existing code and port existing code to Python 3 and the latest version of Django
- REST APIs for install and latest version of the extension for the bake build system
- Add install option to the bake build system
Phase 2
- Add update option to the bake build system
- Add GitLab/Github OAuth support to AppStore
- Statistics (download count) for each the extension
Phase 3
- Multi-Threaded Comment using Disqus
- Dependency Management
- Ratings for the extensions on the AppStore