Coder Social home page Coder Social logo

invoices's Introduction

Vuyisile Ndlovu

I help build reliability into software and operations. I do DevOps and Automation Engineering, developing CI/CD and data pipelines to improve reliability.

About Me

  • Software Development
  • Cloud
  • Automation
  • Testing
  • Technical Writing

Technologies

  • AWS
  • Azure
  • Python
  • PowerShell
  • Docker
  • Nginx
  • Docker
  • CI/CD
  • Ansible
  • CloudFormation
  • Kubernetes

Featured Projects

Recent Blog Posts:

Creating an AWS Auto Scaling Architecture with a monitoring dashboard Creating Two-Tier WordPress Architecture on AWS Bulawayo Python January 2024 Meetup High Availability in PostgreSQL: Replication with Docker Clean Code Chapter 4 Summary: Comments

🤝Let's Connect

Visitor Count

invoices's People

Contributors

terrameijar avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

invoices's Issues

Prepare code for deployment

The code isn't deployment-ready. The following needs to be done:

  • Refactor Ansible tasks to NOT contain hard-coded paths
  • create and use a prod DB
  • remove secret key and other sensitive data from public code. See #6, #4
  • Setup CD. #7

Look into Invoice Save logic

Invoice and InvoiceItem save functionality can be improved. Look into best practices for handling post save actions involving one to many relationships.

Failing to run nginx container

Since the last merge i'm failing to run nginx container using the command docker compose up. I'm getting the following error which seems to be a permission issue.

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting "/etc/ssl/private" to rootfs at "/etc/nginx/ssl/private": mkdir /var/lib/docker/overlay2/e76a3092d8af6016d28654e23ca504077fc2d7e2690a05f3e7a85e5a31564063/merged/etc/nginx/ssl/private: operation not permitted: unknown

Improve UI on invoice & client pages

The look and feel of the client and invoice edit and creation pages can be improved. Switch the following to Django forms styled with Bootstrap or vanilla CSS:

  • New Client Page
  • Edit Client Page
  • New Invoice Page
  • Edit Invoice Page

I want to go from this:
image

to something like this:

image

Dockerise Invoices project

Dockerise the Invoices project and break it up into 3 containers:

  • Postgres DB
  • Django Application + WSGI server
  • Webserver i.e Apache or NGINX

Add ability to edit one's profile

Users can't edit their profiles. We should add functionality to allow them to change information such as their names, passwords, logos and addresses.

The CustomUser model in the Users app has most of the fields to save a user's data. We need a Django view that will allow editing this information.

Highlight Weasyprint as a project dependency

To make the project installation beginner-friendly, let's add on to the README that weasyprint is a dependency and add a link on how to install it. Users running directly on docker will not have any issues but those trying to run the project on their local machine might have a challenge with installing weasyprint via pip, as it has a plethora of dependencies as well.

Create CI/CD pipeline for project

  • Create a CI pipeline to build and run tests using GitHub actions
  • Create a CD pipeline to deploy the project. Deployment platform to be decided.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.