# Blockchain Commons Software Development Internship Hi! My name is Harsh Bardhan Mishra, and I will be collaborating with Blockchain Commons as part of it's Summer Internship program as a Software Developer. This document entails all of the projects and achievable milestones that I would be working forward as part of Blockchain Commons and how my success would be measured for the same. ## Refactoring Spotbit Spotbit is a Flask application designed to show-case Bitcoin price data and candles. My first milestone would revolve around publishing a documentation site for Spotbit to allow developers and general-users, navigate across Spotbit and use it with maximum efficiency. The developer focussed documentation would revolve around: - Setup & Installation Instructions - API Documentation (Swagger UI) The user focussed documentation would revolve around: - Application workflow and design interface - Managing configurations - Usage of exchanges for averaging I would also be working on refactoring the `README.md` file to ensure that the documentation is modularized in effect. The milestones for this would be: - Setting up a Documentation Site using Sphinx - Setting up Swagger UI for the Flask API - Refactoring and publishing documentation on the Sphinx - Publishing the documentation over ReadTheDocs | Milestone | Date | | -------- | -------- | | Setting up a Documentation Site using Sphinx | July 10 | | Setting up Swagger UI for the Flask API | July 13 | Refactoring and publishing documentation on the Sphinx | July 17 | Publishing the documentation over ReadTheDocs | July 20 Given the fact that I have prior experience in Sphinx, I can dually commit to the same. Right now, the code quality of the Spotbit's Flask API is at a lower end. I would be next working on refactoring the code to match the standards we would be looking for in code readibility and maintenance. The milestones for this would be: - Setting up Code Quality checks using Flake8 - Refactoring the Codebase to suit the purpose of readability - Setup a CI pipeline for automated checks | Milestone | Date | | -------- | -------- | | Setting up Code Quality checks using Flake8 | July 22 | | Refactoring the Codebase to suit the purpose of readability | July 26 | Setup a CI pipeline for automated checks | July 27 ## Setting up CI pipelines I would also be working on developing consistent CI pipelines and project management tools and bots to be used with GitHub. This project would concern around the following: - [Consistent GitHub Repo labels](https://github.com/BlockchainCommons/Community/issues/39) - [Local Electrum Server on Regtest](https://github.com/BlockchainCommons/sweeptool-cli/issues/2) - [Adding GitHub Actions for Blockchain Commons Website](https://github.com/BlockchainCommons/www.blockchaincommons.com/issues/8) I would also forward on identifying further areas where CI pipelines can be setup for automated checks. An extra area of focus would be on adding Issue/PR Templates across all of the repositories. The time required for executing this project would be ~ 2 week of effort. | Milestone | Date | | -------- | -------- | | Consistent GitHub Repo Labels | July August 31 | | Local Electrum Server on Regtest | August 3 | Adding GitHub Actions for Blockchain Commons Website | August 7 ## Progress Made I have successfully executed one of the Community Issues around [Sponsor Listing](https://github.com/BlockchainCommons/Community/issues/24). The [Pull Request](https://github.com/BlockchainCommons/www.blockchaincommons.com/pull/17) has been merged to achieve the same.