I can't think of a way one can develop a real product not having to rely on #git. For the past couple of months I have been working intensively on my website and hence #git became part of my daily routine. It feel a lot comfortable being able to make changes to my main project not worrying about side effects it can have given that you can restore everything to the last version if the new code you introduced totally crashes the application.
The website I built is totally open source, hence every piece of my code should be documented and available for contributors. #Sphinx and #ReadTheDocs are the perfect match for this circumstances. It automates the process of generating the HTML pages with #Sphinx and #ReadTheDocs implement continuous deployment getting the last version of my #GitHub master branch. Once configured, the only work I have is making docstrings, the hard work is done entirely by these two fantastic tools.
Great. Make sure you write the documentation in a manner so as many people understand it. I have experience with Python libraries which may be fantastic, but I don't understand a damn thing about how and where to start, what do the functions do and how to put them together.
I haven't written a single code docstring yet.
The readthedocs page has just been set up, I didn't even customize it. I will be working on it soon =)
Since I came from python I had two choices: #django or #flask. It felt like it was a better idea to go for #django considering I was building a blogging platform, this is kind of what #django was made for. On the other hand, #rails seems to be a fantastic framework to get things done. Although I do not regret any of my time spent on developing with #django I want to give #rails a try some day in the future for the sake of curiosity.
My advice - DO NOT switch technology so much dramatically, until you have a good knowledge of .NET.
My website is brand new and one of the few requirements of testings I had to implement was code coverage. Never though it was so hard to implement using a #docker container.
Given my lack of experience, every attempt I tried on making a simple code coverage test using the 4 combinations of #TravisCI, #CircleCi with #Coveralls, #Codecov I failed. The main problem was I was generating the .coverage
file within the docker container and couldn't access it with #TravisCi or #CircleCi, every attempt to solve this problem seems to be very hacky and this was not the kind of complexity I want to introduce to my newborn website.
This problem was solved using a specific action for #GitHubActions, it was a 3 line solution I had to put in my github workflow file and I was able to access the .coverage
file from my docker container and get the coverage report with #Codecov.
Just to mention, somehow I couldn't get it to work using Coveralls. Switching to Codecov the solution was straightforward.
It felt so good to deploy a website in Heroku, everything is simple and easy to setup. I can keep my github repository in sync with Heroku deployment so I don't even have to bother about get my website running. If you are an university student you can even get for free a Hobby plan. This is my starter option and it fills my needs for now.
First I was using #GitHubProjects to manage my todo lists and annotate things about the development process. I decided to give #Trello a try because I was not happy with the #GitHubProjects UX and now I feel way more capable of managing my development tasks. I wouldn't go back.
I am using Heroku and SQLite isn't recommended to use as production database in this cloud service. So I took the recommendation of using PostgreSQL instead.
It was impressive to me how much I could do with so little effort when building my front-end with Bootstrap.It is the most popular CSS Framework so I picked it since I knew it would have a lot of discussions on all the internet, meaning I wouldn't waste much time figuring things out.