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
Quilt is a self-organizing data hub for S3

Quilt is a self-organizing data hub Python Quick start, tutorials If you have Python and an S3 bucket, you're ready to create versioned datasets with

Quilt Data 1.2k Dec 30, 2022
Yet Another MkDocs Parser

yamp Motivation You want to document your project. You make an effort and write docstrings. You try Sphinx. You think it sucks and it's slow -- I did.

Max Halford 10 May 20, 2022
A collection and example code of every topic you need to know about in the basics of Python.

The Python Beginners Guide: Master The Python Basics Tonight This guide is a collection of every topic you need to know about in the basics of Python.

Ahmed Baari 1 Dec 19, 2021
A document format conversion service based on Pandoc.

reformed Document format conversion service based on Pandoc. Usage The API specification for the Reformed server is as follows: GET /api/v1/formats: L

David Lougheed 3 Jul 18, 2022
Essential Document Generator

Essential Document Generator Dead Simple Document Generation Whether it's testing database performance or a new web interface, we've all needed a dead

Shane C Mason 59 Nov 11, 2022
An interview engine for businesses, interview those who are actually qualified and are worth your time!

easyInterview V0.8B An interview engine for businesses, interview those who are actually qualified and are worth your time! Quick Overview You/the com

Vatsal Shukla 1 Nov 19, 2021
πŸ’― Coolest snippets

nvim-snippets This was originally included in my personal Neovim setup, but I didn't like having all the snippets there so I decided to have them sepa

Eliaz Bobadilla 6 Aug 31, 2022
python package sphinx template

python-package-sphinx-template python-package-sphinx-template

Soumil Nitin Shah 2 Dec 26, 2022
Obmovies - A short guide on setting up the system and environment dependencies required for ob's Movies database

Obmovies - A short guide on setting up the system and environment dependencies required for ob's Movies database

1 Jan 04, 2022
Always know what to expect from your data.

Great Expectations Always know what to expect from your data. Introduction Great Expectations helps data teams eliminate pipeline debt, through data t

Great Expectations 7.8k Jan 05, 2023
Create docsets for Dash.app-compatible API browser.

doc2dash: Create Docsets for Dash.app and Clones doc2dash is an MIT-licensed extensible Documentation Set generator intended to be used with the Dash.

Hynek Schlawack 498 Dec 30, 2022
Official Matplotlib cheat sheets

Official Matplotlib cheat sheets

Matplotlib Developers 6.7k Jan 09, 2023
Python For Finance Cookbook - Code Repository

Python For Finance Cookbook - Code Repository

Packt 544 Dec 25, 2022
Python-samples - This project is to help someone need some practices when learning python language

Python-samples - This project is to help someone need some practices when learning python language

Gui Chen 0 Feb 14, 2022
Hjson for Python

hjson-py Hjson, a user interface for JSON Hjson works with Python 2.5+ and Python 3.3+ The Python implementation of Hjson is based on simplejson. For

Hjson 185 Dec 13, 2022
CoderByte | Practice, Tutorials & Interview Preparation Solutions|

CoderByte | Practice, Tutorials & Interview Preparation Solutions This repository consists of solutions to CoderByte practice, tutorials, and intervie

Eda AYDIN 6 Aug 09, 2022
Preview title and other information about links sent to chats.

Link Preview A small plugin for Nicotine+ to display preview information like title and description about links sent in chats. Plugin created with Nic

Nick 0 Sep 05, 2021
Some code that takes a pipe-separated input and converts that into a table!

tablemaker A program that takes an input: a | b | c # With comments as well. e | f | g h | i |jk And converts it to a table: β”Œβ”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”€β” β”‚ a β”‚ b β”‚

CodingSoda 2 Aug 30, 2022
Easy OpenAPI specs and Swagger UI for your Flask API

Flasgger Easy Swagger UI for your Flask API Flasgger is a Flask extension to extract OpenAPI-Specification from all Flask views registered in your API

Flasgger 3.1k Jan 05, 2023
MkDocs plugin for setting revision date from git per markdown file

mkdocs-git-revision-date-plugin MkDocs plugin that displays the last revision date of the current page of the documentation based on Git. The revision

Terry Zhao 48 Jan 06, 2023