Portfolio project for Code Institute Full Stack software development course.

Overview

Comic Sales tracker

This project is the third milestone project for the Code Institute Diploma in Full Stack Software Development. You can see the final deployed site here.

Contents

UX

User stories

The application is designed to be a stock management system for comic creators.

As a user, I expect:

  • To be able to easily understand what information the application is asking for.
  • To be prompted to reorder stock when an item is running low.
  • To get reports after each input showing both gross and net profit in an easy to understand manner.
  • To be able to easily update sales.
  • To be able to easily update stock.

As a user, I want:

  • To be able to see the data I am to input to confirm it is correct.
  • To be able to easily navigate through the data.
  • To be able to add additional books directly to the command line without having to manually modify the code or the spreadsheet.

Flow Chart

Before starting on the project, I created a mock up using lucid chart to break down the logic I would need to follow to ensure that the application worked correctly.

Flowchart

Features

Welcome Screen

  • The application displays a welcome message on first launch. This would clearly layout the purpose of the application. This should be followed with the choice to update stock or to update sales.

Update Stock

  • The application should give the user the option to update stock of individual books. This should be easy to update while getting all the information needed to maintain the sales data base including:
    • Number of items ordered.
    • Cost of the order
    • Date of the order

Update Sales

  • The application should prompt to see if the user is update sales from a convention or from the online store.

Con Sales

  • When updating con sales the program prompts the user following information:
    • The name of the convention.
    • The date of the convention.
    • The sales of each book.
    • The expenses incurred during the convention (broken down into table costs, travel costs, parking, and miscellaneous costs.

Online Sales

  • When updating online sales the program prompts the user following information:
    • The date of the sales.
    • The sales of each book.

Update Spreadsheets

  • The application pushes all information to a linked google sheets doc for easy viewing.

Confirm Data

  • After each input the application repeats the information back to the user and ask them to confirm before it pushes the data to the spreadsheet.

Rerun Application

  • Once the application has finished running it gives the user the option to rerun to add any additional sales/ stock that’s required.

Features left to implement

Update Cost Per Unit

  • When an order is restocked it should automatically recalculate the cost per unit based on total cost of all items. This should also recalculate all previous sales to reflect the new CPU.

Add New Book

  • The application will give the user the option to add a new product when ordering new stock. This will automatically update all other functions to prompt for data for this product when carrying out functions.

Con Profits

  • The application uses this information (and the CPU generated from the stock function) to work out both the net and gross profit from the convention sales.

Low Stock Warning

  • The application will prompt the user when stocks of an item are running low.

Automatic Reordering

  • The application should offer the user the option to automatically send an email to the printer to order a restock of a book. This email should include:
    • The restock amount.
    • The date of the last reprint.

Data Validation

  • The application validates all information to ensure that the correct data is being passed to it. If incorrect data is passed to it will tell the user what the issue is and how they can resolve it.

Technologies Used

  • Python
  • Git
  • Google Docs
  • Google Sheets
An ongoing curated list of OS X best applications, libraries, frameworks and tools to help developers set up their macOS Laptop.

macOS Development Setup Welcome to MacOS Local Development & Setup. An ongoing curated list of OS X best applications, libraries, frameworks and tools

Paul Veillard 3 Apr 03, 2022
Python syntax highlighted Markdown doctest.

phmdoctest 1.3.0 Introduction Python syntax highlighted Markdown doctest Command line program and Python library to test Python syntax highlighted cod

Mark Taylor 16 Aug 09, 2022
Python code for working with NFL play by play data.

nfl_data_py nfl_data_py is a Python library for interacting with NFL data sourced from nflfastR, nfldata, dynastyprocess, and Draft Scout. Includes im

82 Jan 05, 2023
Speed up Sphinx builds by selectively removing toctrees from some pages

Remove toctrees from Sphinx pages Improve your Sphinx build time by selectively removing TocTree objects from pages. This is useful if your documentat

Executable Books 8 Jan 04, 2023
PowerApps-docstring is a console based, pipeline ready application that automatically generates user and technical documentation for Power Apps.

powerapps-docstring PowerApps-docstring is a console based, pipeline ready application that automatically generates user and technical documentation f

Sebastian Muthwill 30 Nov 23, 2022
Convenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp.

Convenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp.

Scott Triglia 64 Sep 18, 2022
A simple malware that tries to explain the logic of computer viruses with Python.

Simple-Virus-With-Python A simple malware that tries to explain the logic of computer viruses with Python. What Is The Virus ? Computer viruses are ma

Xrypt0 6 Nov 18, 2022
Contains the assignments from the course Building a Modern Computer from First Principles: From Nand to Tetris.

Contains the assignments from the course Building a Modern Computer from First Principles: From Nand to Tetris.

Matheus Rodrigues 1 Jan 20, 2022
A Collection of Cheatsheets, Books, Questions, and Portfolio For DS/ML Interview Prep

Here are the sections: Data Science Cheatsheets Data Science EBooks Data Science Question Bank Data Science Case Studies Data Science Portfolio Data J

James Le 2.5k Jan 02, 2023
Canonical source repository for PyYAML

PyYAML - The next generation YAML parser and emitter for Python. To install, type 'python setup.py install'. By default, the setup.py script checks

The YAML Project 2k Jan 01, 2023
A comprehensive and FREE Online Python Development tutorial going step-by-step into the world of Python.

FREE Reverse Engineering Self-Study Course HERE Fundamental Python The book and code repo for the FREE Fundamental Python book by Kevin Thomas. FREE B

Kevin Thomas 7 Mar 19, 2022
charcade is a string manipulation library that can animate, color, and bruteforce strings

charcade charcade is a string manipulation library that can animate, color, and bruteforce strings. Features Animating text for CLI applications with

Aaron 8 May 23, 2022
Sphinx Theme Builder

Sphinx Theme Builder Streamline the Sphinx theme development workflow, by building upon existing standardised tools. and provide a: simplified packagi

Pradyun Gedam 23 Dec 26, 2022
A simple tutorial to get you started with Discord and it's Python API

Hello there Feel free to fork and star, open issues if there are typos or you have a doubt. I decided to make this post because as a newbie I never fo

Sachit 1 Nov 01, 2021
The source code that powers readthedocs.org

Welcome to Read the Docs Purpose Read the Docs hosts documentation for the open source community. It supports Sphinx docs written with reStructuredTex

Read the Docs 7.4k Dec 25, 2022
Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts

Have you always wished Jupyter notebooks were plain text documents? Wished you could edit them in your favorite IDE? And get clear and meaningful diff

Marc Wouts 5.7k Jan 04, 2023
This tutorial will guide you through the process of self-hosting Polygon

Hosting guide This tutorial will guide you through the process of self-hosting Polygon Before starting Make sure you have the following tools installe

Polygon 2 Jan 31, 2022
Plover jyutping - Plover plugin for Jyutping input

Plover plugin for Jyutping Installation Navigate to the repo directory: cd plove

Samuel Lo 1 Mar 17, 2022
A hack to run custom shell commands when building documentation on Read the Docs.

readthedocs-custom-steps A hack to run custom steps when building documentation on Read the Docs. Important: This module should not be installed outsi

Niklas Rosenstein 5 Feb 22, 2022
Dev Centric Tools for Mkdocs Based Documentation

docutools MkDocs Documentation Tools For Developers This repo is providing a set of plugins for mkdocs material compatible documentation. It is meant

Axiros GmbH 14 Sep 10, 2022