Class XII computer science project.

Overview

Computer Science Project — Class XII

Kshitij Srivastava (XI – A)

Introduction

The aim of this project is to create a fully operational system for a medicine store to keep track of its day-to-day functioning — from keeping track of current inventory of medicine stock, to recommendations to restock certain medicines, to (possibly) generating beautiful invoices for the customer upon purchase — all done online.

Goals

There are a few goals and key features which will most certainly make their way into the project to help get the basic backbone in place. They are listed as follows:

  • Create a modern, lightweight and powerful inventory management solution to help keep track of all the current stock in the store along with the data about medicine quantity, potency and expiry date to allow the employees access to vital data quickly and easily.
  • Create dynamic and beautiful cards which provide important snippets of information based on the current medicine stock, data and other vital information.

The ethos of the project revolves around not only creating the best user experience possible but also creating the best developer and development experience possible as well because, while most projects focus on the former, the latter is left relatively untouched leading to bad coding practices, messy code, using legacy software and making code difficult to read and change later down the line. This is however, not what this project will allow. The core functionality will not compromise the development experience of this program.

Potential Features

There are also a few features that I would love to integrate into the project however, they may not make it in the final build either due to time or complexity reasons but, if implemented, will be as polished and well-thought-out as possible – not making the user feel like they were added for the sake of adding new features; these are listed as follows:

  • Add a fully customisable customer invoice that can be modified on-the-fly without hassle, rather than a base template.
  • Add simple bookkeeping to the program so that small stores don't need to work with the error-prone pen and paper method to store their day-to-day earnings and losses.
  • Add user accounts to the program to that multiple employees can be given their own account with account-specific features and, add admin level access to monitor all accounts and features globally.

Technologies

Python

I shall be using the latest version of Python (which, at the time of writing is 3.9.5) in a virtual environment for easy deployment without having to first install Python on another system. I will also split the code into multiple files to make the code more readable the easy to work with along with some basic object-oriented programming concepts to make the development of the program as easy and fun as possible.

The following libraries will bse used with Python:

  • Flask

    • Flask is a light and powerful Python framework to create basic websites using Python and HTML. This should make the project easy to maintain and making changes to the code quick and easy. It also makes it very easy to host this project on a custom domain at a future date. The version of Flask being used for the project is 2.0.0.
  • MySQL Connector

    • MySQL connector is a Python library that allows for easy connection to a local MySQL database used for storing all the important information regarding the project.
  • Sphinx

    • Sphinx is a Python library that helps to easily create an HTML file for project documentation using the Restructured Text markup language in docstrings for the code.

MySQL

The MySQL flavour of SQL developed by Oracle is going to be the main database of choice for the program and act as the backend to store all the vital project information like medicine details, employee details and sale information.

IDE

The IDE of choice for this project is Pycharm Professional as it has all the benefits of the Pycharm IDE but with added support for Flask and easy linking of external databases.

Version Control

The project is open source and will be hosted on GitHub to ensure that the teacher can check up on the progress made on the development of the program at any time and allow foe the publishing and submission of the same online easily.

Owner
Kshitij Srivastava
Kshitij Srivastava
A minimalist starknet amm adapted from StarkWare's amm.

viscus • A minimalist starknet amm adapted from StarkWare's amm. Directory Structure contracts

Alucard 4 Dec 27, 2021
A simple tool made in Python language

Simple tool Uma simples ferramenta feita 100% em linguagem Python 💻 Requisitos: Python3 instalado em seu dispositivo Clonagem e acesso 📳 git clone h

josh washington 4 Dec 07, 2021
Introduction to Databases Coursework 2 (SQL) - dataset generator

Introduction to Databases Coursework 2 (SQL) - dataset generator This is python script generates a text file with insert queries for the schema.sql fi

Javier Bosch 1 Nov 08, 2021
Project repository of Apache Airflow, deployed on Docker in Amazon EC2 via GitLab.

Airflow on Docker in EC2 + GitLab's CI/CD Personal project for simple data pipeline using Airflow. Airflow will be installed inside Docker container,

Ammar Chalifah 13 Nov 29, 2022
pybicyclewheel calulates the required spoke length for bicycle wheels

pybicyclewheel pybicyclewheel calulates the required spoke length for bicycle wheels. (under construcion) - homepage further readings wikipedia bicyc

karl 0 Aug 24, 2022
Lightweight library for accessing data and configuration

accsr This lightweight library contains utilities for managing, loading, uploading, opening and generally wrangling data and configurations. It was ba

appliedAI Initiative 7 Mar 09, 2022
BinCat is an innovative login system, with which the account you register will be more secure.

BinCat is an innovative login system, with which the account you register will be more secure. This project is inspired by a conventional token system.

Hipotesi 2 May 22, 2022
An extensive password manager built using Python, multiple implementations. Something to meet everyone's taste.

An awesome open-sourced password manager! Explore the docs » View Demo · Report Bug · Request Feature 🐍 Python Password Manager 🔐 An extensive passw

Sam R 7 Sep 28, 2021
Step by step development of a vending coffee machine project, including tkinter, sqlite3, simulation, etc.

Step by step development of a vending coffee machine project, including tkinter, sqlite3, simulation, etc.

Nikolaos Avouris 2 Dec 05, 2021
Identifies the faulty wafer before it can be used for the fabrication of integrated circuits and, in photovoltaics, to manufacture solar cells.

Identifies the faulty wafer before it can be used for the fabrication of integrated circuits and, in photovoltaics, to manufacture solar cells. The project retrains itself after every prediction, mak

Arun Singh Babal 2 Jul 01, 2022
Auto-ropper is a tool that aims to automate the exploitation of ROP.

Auto-ropper is a tool that aims to automate the exploitation of ROP. Its goal is to become a tool that no longer requires user interaction.

Zerotistic 16 Nov 13, 2022
Animation picker for Audodesk Maya 2017 (or higher)

Dreamwall Picker Animation picker for Audodesk Maya 2017 (or higher) Authors: Lionel Brouyère, Olivier Evers This tool is a fork of Hotbox Designer (L

DreamWall 93 Dec 21, 2022
Agora-token-helper - Some help tools for AgoraToken

Agora Token Helper Support AgoraToken version 001 - 006. But for security reason

A pairs trade is a market neutral trading strategy enabling traders to profit from virtually any market conditions.

A pairs trade is a market neutral trading strategy enabling traders to profit from virtually any market conditions. This strategy is categorized as a statistical arbitrage and convergence trading str

Kanupriya Anand 13 Nov 27, 2022
Домашние задания, выполненные на 3ем семестре РТУ МИРЭА, по дисциплине

ДЗ по курсу "Конфигурационное управление" в РТУ МИРЭА Описание В данном репозитории находятся домашние задания, выполненные на 3ем семестре РТУ МИРЭА,

Semyon Esaev 4 Dec 22, 2022
The repository for my video "Playing MINECRAFT with a WEBCAM"

This is the official repo for my video "Playing MINECRAFT with a WEBCAM" on YouTube Original video can be found here: https://youtu.be/701TPxL0Skg Red

Rishabh 27 Jun 07, 2022
My solution for a MARL problem on a Grid Environment with Q-tables.

To run the project, run: conda create --name env python=3.7 pip install -r requirements.txt python run.py To-do: Add direction to the state space Take

Merve Noyan 12 Dec 25, 2021
Small projects for python beginners.

Python Mini Projects For Beginners I recently started doing the #100DaysOfCode Challenge in Python. I've used Python before, but I had switched to JS

Sreekesh Iyer 10 Dec 12, 2022
Streamlit apps done following data professor's course on YouTube

streamlit-twelve-apps Streamlit apps done following data professor's course on YouTube Español Curso de apps de data science hecho por Data Professor

Federico Bravin 1 Jan 10, 2022
Advanced IPv4 Subnet Calculator in Python3

Advanced IPv4 Subnet Calculator in Python3 Table of Contents Getting Started Installation How it works? SVI Configuration Template Previews Getting St

Osama Abbas 1 May 10, 2022