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 turtlebot auto controller allows robot to autonomously explore environment.

A turtlebot auto controller allows robot to autonomously explore environment.

Yuliang Zhong 1 Nov 10, 2021
ICEtool - ICEtool plugin for QGIS

ICEtool ICEtool is an all in one QGIS plugin to easily compute ground temperatur

Arthur Evrard 13 Dec 16, 2022
carrier.py is a Python package/module that's used to save time when programming

carrier.py is a Python package/module that's used to save time when programming, it helps with functions such as 24 and 12 hour time, Discord webhooks, etc

Zacky2613 2 Mar 20, 2022
本仓库整理了腾讯视频、爱奇艺、优酷、哔哩哔哩等视频网站中,能够观看的「豆瓣电影 Top250 榜单」影片。

Where is top 250 movie ? 本仓库整理了腾讯视频、爱奇艺、优酷、哔哩哔哩等视频网站中,能够观看的「豆瓣电影 Top250 榜单」影片,点击 Badge 可跳转至相应的电影首页。

MayanDev 123 Dec 22, 2022
Clackety Keyboards Powered by Python

KMK: Clackety Keyboards Powered by Python KMK is a feature-rich and beginner-friendly firmware for computer keyboards written and configured in Circui

KMK Firmware 780 Jan 03, 2023
Alerts for Western Australian Covid-19 exposure locations via email and Slack

WA Covid Mailer Sends alerts from Healthy WA's Covid19 Exposure Locations via email and slack. Setup Edit the configuration items in wacovidmailer.py

13 Mar 29, 2022
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild community 87 Dec 27, 2022
A python program to detect rickrolls with just the youtube link.

rickroll_detector A python program to detect rickrolls with just the youtube link. Usage: clone this repo or download zip run the main.py file with py

Tricky 4 Nov 06, 2022
Python tools for experimenting with differentiable intonation cost measures

Differentiable Intonation Tools The Differentiable Intonation Tools (dit) are a collection of Python functions to analyze the intonation in multitrack

Simon Schwär 2 Mar 27, 2022
Source for the Fedora Silverblue and Kinoite variants.

Source for the Fedora Silverblue and Kinoite variants.

Fedora Kinoite 7 Aug 20, 2022
Access Modbus RTU via API call to Sungrow WiNet-S

SungrowModbusWebClient Access Modbus RTU via API call to Sungrow WiNet-S Class based on pymodbus.ModbusTcpClient, completely interchangeable, just rep

8 Oct 30, 2022
Distribute PySPI jobs across a PBS cluster

Distribute PySPI jobs across a PBS cluster This repository contains scripts for distributing PySPI jobs across a PBS-type cluster. Each job will conta

Oliver Cliff 1 Feb 10, 2022
Little tool in python to watch anime from the terminal (the better way to watch anime)

anipy-cli Little tool in python to watch anime from the terminal (the better way to watch anime) Has a resume playback function when picking from Hist

sdao 97 Dec 29, 2022
JHBuild is a tool designed to ease building collections of source packages, called “modules”.

JHBuild README JHBuild is a tool designed to ease building collections of source packages, called “modules”. JHBuild was originally written for buildi

GNOME Github Mirror 46 Nov 22, 2022
The ldapconsole script allows you to perform custom LDAP requests to a Windows domain

ldapconsole The ldapconsole script allows you to perform custom LDAP requests to a Windows domain. Features Authenticate with password Authenticate wi

Podalirius 38 Dec 09, 2022
Really bad lisp implementation. Fun with pattern matching.

Lisp-py This is a horrible, ugly interpreter for a trivial lisp. Don't use it. It was written as an excuse to mess around with the new pattern matchin

Erik Derohanian 1 Nov 23, 2021
An unofficial python API for trading on the DeGiro platform, with the ability to get real time data and historical data.

DegiroAPI An unofficial API for the trading platform Degiro written in Python with the ability to get real time data and historical data for products.

Jorrick Sleijster 5 Dec 16, 2022
Scientific Programming: A Crash Course

Scientific Programming: A Crash Course Welcome to the Scientific Programming course. My name is Jon Carr and I am a postdoc in Davide Crepaldi's lab.

Jon Carr 1 Feb 17, 2022
A general-purpose wallet generator, for supported coins only

2gen A general-purpose generator for keys. Designed for all cryptocurrencies supporting the Bitcoin format of keys and addresses. Functions To enable

Vlad Usatii 1 Jan 12, 2022
A Lynx that manages a group that puts the federation first.

Lynx Super Federation Management Group Lynx was created to manage your groups on telegram and focuses on the Lynx Federation. I made this to root out

Unknown 2 Nov 01, 2022