I spent the last two weeks exploring different types of web development technologies. Specifically looking at different iterations of the MEAN stack, and deployments relying on Node.
While it was interesting, I've decided to put this on-hold.
I'll be pursuing new development using Python/Django. Specifically, I have in mind an app the uses the overpass API.
result = api.query("[out:json];node[building=residential](-0.489,51.28,0.236,51.686);out;")
As a next project, I want to attempt a chat app:
I faced a set back in the development of my personal site when I learned the dangers of "rm -rf ~".
As of today, I have the site recovered to the state I had it at before this loss, as well as some improvements to the design/CSS. I have a few things left to complete with my personal site:
1) Allow submission of blog posts outside of the Django Administrator console
2) Improve the CSS of my site to support 1920x1080, 1366x768, and 960x540
3) Add in descriptive hover images for completed projects
4) Complete the content on About Me/Contact/Home
5) Publish to github
2) I want to build an app of some sort with the MEAN stack.
It has been a long time since I’ve updated the log, and there has been some changes to cover.
1) I completed the email script I planned for the DeicideProject. The script took all of the data collected inside the primary data table, used it to form an html template which forwarded on via an SMTP request. This was designed to run nightly.
2) I renamed the DeicideSociety project to GodFearsDanAykroyd. Alerting Dan Aykroyd of your complaints against god was a more succinct joke.
3) I completed a Twitter integration that allowed all posts to GodFearsDanAykroyd to be pushed into twitter
4) I finished/walked-away from the GodFearsDanAykroyd Project.
5) I started uploading examples of projects into Github
6) I began work on updating my personal site.
a) Moved the HTML into a Django Project
b) Moved previous projects(RulesOfAcquisition, GodFearsDanAykroyd) into either it’s own app, or it’s own static setup
c) Began Updating Personal Site into functional Blog using Django
Again, I’ve done a poor job of keeping this log current. I have my script created; it’s intended to be run nightly and completes three functions:
1) Takes all of the data from Table A and forms it into an email that is sent
2) Copies everything from Table A into Table B
3) Deletes Everything in Table A
Using the sqlite3 and smpt plugins for python was overall very simple, as was using them both in the same script. The majority of my struggle surrounded using the results of my sql query to create something usable in the HTML portion of my smtp call. I read extensively on Loops and joins.
I ultimately relied on some help from the /r/learnpython subreddit to get some clarification on cleaning loops.
I haven’t been consistent at keep this log updated. I’ve also lost a few weeks of progress. We got a dog two weeks ago, and I’ve been traveling for work. I have the basic goal of the web experience completed. I can submit fields, and they appear as a list below. I had initially overthought the listing function. I used html listing and it fits my need.
I’m now working on a python script that will read the current contents of my table, send the contents via an email template, and move the data to an archive table.
I’ve begun adding to the Deicide project. I need to add a created at time to the database of form entries we’re collecting. When I attempted to do this initially, I got my project into a state that I could not find a way to recover from. There was seemingly an issue with adding a column to an existing table. The internet says I just need to add a default value for the column, but that did not work as expected.
I recovered from a saved state of the server, and will try again later.
There has been some significant work since my last update. I reached my original goal for the Deicide Society project. I have a single page displaying a form which writes to a local database, and displays the content on said page. I’m currently running a back-up of my server state since completing this. Screenshot below:
There was a loss in the family, and I haven’t been able to work on this in a few days. I spent an hour this afternoon reading data on using forms with Django. At this point I’m not certain how to proceed. The tutorials focus on having a seperate template for form submission.
I’ve been working more frequently this week, but the efforts have gone undocumented. I’ve been able to define a model, create a view, and utilize these in a template. This has been exciting, as it’s the first time I’m not just CopyPasting from a tutorial. I’m taking baby steps towards understanding what is happening in each portion of the site.
This evening, I focused primarily on how to display the results of a QuerySet into a readable list on a website. It has to do with using a loop and the for function in the template. Pretty fucking excited I made that work.
Next steps are to clean it up cosmetically, and start looking at including a form into the page.
I completed the steps in the digital ocean document, and I have a fresh server running with Django. I started the Django project and have that running as well. Today I covered well walked worked, but it was nice to get some things accomplished. I’ve left off on the steps where I need to configure models for my new project.
On 06/13 I read deeper into the Mozilla documentation on Django, and found that their definitions of Views, models, and templates was a little more defined. I think I can work with this to build a view/template that displays something like what I had in mind on the deicide project.
To that aim, I’ve started work on spinning up a new instance for testing. I’ve lost time by making the same mistakes I did the last time I brought up a new machine. I need to complete the steps outlined in the below document before continuing. Tomorrow I hope to wipe the machine I started today, and continue new from the below document.
Today I tried a couple of different ways of mashing either the post_list & new_post views/templates together to easily have the form appear on the same page as the list. This was unsuccessful. I believe I’ll need to create a view/template that displays both models togther. I’m going to attempt the Mozilla Django tutorial. This seems to take the time to define the way of writing a new view/template.
I worked on getting static files to load properly again through Django. I had figured this out while working on FantasticKarate, but in the intervening weeks I’d lost the knowledge.
It turns out that by default, the static files need to be in a folder from the django root static folder. The static folder inside my app directory would not let me load files. It’s possible I would just need to reconfigure the settings.py file, but I could not determine a way to accomplish this. I have the static files loading properly not.
I got the Django Girls first project tutorial completed to satisfaction. I can post updates to the page, and see them reflected and store. I’ve begun working backwards to try and shape it into my idea for the deicide project.
It still feels shitty and paint by numbers, but I have two of the three recommended Django tutorials completed.
I spent an hour(45 minutes) or so working on the forms section of the Django Girls App. I’m seeing data enter the database, and displayed on the page(Hazah!), but I’ve been jumping around in the tutorial and don’t have it working smoothly. I need to go through and complete the boring bits of the tutorial.
I haven’t been making the progress I was hoping for, and today felt completely like paint by numbers. I also need to find some way to learn in smaller chunks. A puzzle of the day type exercise.
I started the hour looking at completing the Django Girls web app tutorial. I’m currently stuck on the section surrounding building out html templates for other views in the blog project. My blocker here is one of interest and focus. I’d like to get this tutorial completed, as it includes the section on adding forms to Django projects.
Instead of continuing on that path, I thought I would investigate a means to improve my base understanding of python. I stumbled onto the below document and found it useful. I read up to section 2.7 on Dictionaries. I should continue there.
The topics I found most useful was the section on lists.