Posts

FarmAfield

I played a key role within a team of four talented software engineers, dedicated to maintaining and enhancing the FarmAfield website with innovative features and a user-friendly interface.

Notable Features

Dark Mode

My favorite feature to implement was a customizable theme feature, allowing users to effortlessly toggle between light and dark modes within their account settings. The website intelligently adapts to users’ device/browser preferences, with the option to override these settings for ultimate personalization.

image block
Toggling dark mode
Email Preferences

I contributed to an efficient email management system, enabling users to add a secondary email and adjust their marketing email preferences within their account settings. Utilizing AJAX POST requests, the user experience is optimized by eliminating the need for page refreshes.

image block
Email Preferences in account settings
Solar Landing Page

Expanding FarmAfield’s offerings, I designed an inviting landing page for the Solar site, connecting farmers with investors to fund solar panel installations on their land. View the site below:

Cookie Policy

I created a cookie policy and a cookie consent banner:

Notifications

I created the notifications drop-down menu and page. Users can mark the notifications as read to dismiss them without refreshing the page by making use of AJAX. All notifications can be found in the notifications page.

image block
Notifications dropdown menu
image block
Notifications page

Miscellaneous Features

In addition to the notable features above, I also

  • Wrote hundreds of unit tests increasing the code coverage from 53% to 82%
  • Implemented parallelism in CircleCI to improve CI testing speeds by 100%.

Development Details

During my time at FarmAfield, I followed Agile development methodology and utilized an array of tools, including

  • Django as the full stack web framework
  • PostgreSQL for the database
  • GitHub for version control
  • Microsoft Teams for team communication
  • Jira by Atlassian for work management and issue tracking

The programming languages I used were

  • Python for backend
  • HTML, CSS, and JavaScript for frontend

Reflection

Overall, I really enjoyed my time at FarmAfield. I learned a lot about web development and was introduced to tools that have changed the way I work. This internship has propelled my love for web development and caused me to develop Portfolio.v2 as a Django web app.