Blog 10: November 14th
Runestone Documentation::
Getting Started:
We have finally been able to successfully deploy our runestone books, and are now ready to begin to contribute. We have started to explore, and are learning how big Runestone is so we were assigned to read the documentation more thoroughly. Runestone uses monorepo which from my understanding it means repositories related to Runestone academy are under the same repository to reduce redundancy, and Python polylith tools was the motivation behind monorepo. As I was reading under 'Code style and Linting' section I realized I did not know what linting meant in terms of programing, so as any good curios student would do I googled to learn more about it, and upon my research I learned that Linting is the process of analyzing code for potential errors or stylistic problems. It can be used to find bugs, improve readability, and enforce coding standards.Black is a Python code formatter that automatically formats code according to the PEP 8 style guide. It can be used to format both new and existing code.
Flake8 is a Python linter that checks code for potential errors and stylistic problems. It is based on the PEP 8 style guide and the PyFlakes linter. Customizing a textbook: I did not know that a teacher could customize their book, and upon reading what the staff of Runestone Academy recommended it seems like it is extra work, and a lot of work. It seemed like teachers were almost discouraged from editing and customizing a textbook, and the reasons were explained more thoroughly in here.
Flake8 is a Python linter that checks code for potential errors and stylistic problems. It is based on the PEP 8 style guide and the PyFlakes linter. Customizing a textbook: I did not know that a teacher could customize their book, and upon reading what the staff of Runestone Academy recommended it seems like it is extra work, and a lot of work. It seemed like teachers were almost discouraged from editing and customizing a textbook, and the reasons were explained more thoroughly in here.
Adding a new feature to server side:
From reading this section, these are the main points I was able to gather.
- create a new API endpoint in book_server_api or author_server_api.
- use sqlalchemy to interact with the database.
- use pydantic validators to ensure the correct types and convert the data from the database into a python dictionary.
- use rsptx.db.crud to create, retrieve, update or delete elements from the database.
- do not write database queries directly in your API endpoints.
Getting started with Runestone Academy, and being able to contribute is exciting. Reading the documentation thoroughly allowed me to have a better understanding, and clear up some confusions I had like learning what linting is. My journey of contributing to open source is ongoing, and being able to do it with the support system of CSC 426 students, and professors have made the process much smoother.
Comments
Post a Comment