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 NetBox Plugin that gives a UI for generating, comparing and deploying configurations to devices.

netbox_config_plugin - A plugin to generate, compare and deploy configurations This plugin allows you to execute your code to generate a config for a

Jo 11 Dec 21, 2022
Automatic and platform-independent unpacker for Windows binaries based on emulation

_ _ __ _ __ _ | | | | / / (_) \ \ | | | | | |_ __ | | _ | | _ __ __ _ ___| | _____ _ __

514 Dec 21, 2022
Простенький ботик для троллинга с интерфейсом #Yakima_Visus

Bot-Trolling-Vk Простенький ботик для троллинга с интерфейсом #Yakima_Visus Установка pip install vk_api pip install requests если там еще чото будет

Yakima Visus 4 Oct 11, 2022
Cobalt Strike Sleep Python Bridge

This project is 'bridge' between the sleep and python language. It allows the control of a Cobalt Strike teamserver through python without the need for for the standard GUI client. NOTE: This project

Cobalt Strike 140 Jan 04, 2023
Visual Python and C++ nanosecond profiler, logger, tests enabler

Look into Palanteer and get an omniscient view of your program Palanteer is a set of lean and efficient tools to improve the quality of software, for

Damien Feneyrou 1.9k Dec 26, 2022
A code to clean and extract a bib file based on keywords.

These are two scripts I use to generate clean bib files. clean_bibfile.py: Removes superfluous fields (which are not included in fields_to_keep.json)

Antoine Allard 4 May 16, 2022
💻 Algo-Phantoms-Backend is an Application that provides pathways and quizzes along with a code editor to help you towards your DSA journey.📰🔥 This repository contains the REST APIs of the application.✨

Algo-Phantom-Backend 💻 Algo-Phantoms-Backend is an Application that provides pathways and quizzes along with a code editor to help you towards your D

Algo Phantoms 44 Nov 15, 2022
YourX: URL Clusterer With Python

YourX | URL Clusterer Screenshots Instructions for running Install requirements

ARPSyndicate 1 Mar 11, 2022
CarolinaCon CTF Online

CarolinaCon Online CTF CTF challenges from CarolinaCon Online April 23 through April 25, 2021. All challenges from the CTF will eventually be here. Co

49th Security Division 6 May 04, 2022
Notebook researcher - Notebook researcher with python

notebook_researcher To run the server, you must follow these instructions: At th

4 Sep 02, 2022
Advanced python code - For students in my advanced python class

advanced_python_code For students in my advanced python class Week Topic Recordi

Ariel Avshalom 3 May 27, 2022
Experiments with Tox plugin system

The project is an attempt to add to the tox some missing out of the box functionality. Basically it is just an extension for the tool that will be loa

Volodymyr Vitvitskyi 30 Nov 26, 2022
Make your Discord Account Online 24/7!

Online-Forever Make your Discord Account Online 24/7! A Code written in Python that helps you to keep your account 24/7. The main.py is the main file.

SealedSaucer 0 Mar 16, 2022
Find out where all films you want to watch are streaming

Just Watch Letterboxd Find out where all films you want to watch are streaming Ever wonder what films you want to watch are already on the streaming p

Jordan Oslislo 2 Feb 04, 2022
Very Simple Zoom Spam Pinger!

Very Simple Zoom Spam Pinger!

Syntax. 2 Mar 05, 2022
The newest contender in Server Gateway Interface.

nsgi The newest contender in Server Gateway Interface. Why use this webserver? This webserver is made with the newest version of asyncio, and sockets,

OpenRobot 1 Feb 12, 2022
Application launcher and environment management

Application launcher and environment management for 21st century games and digital post-production, built with bleeding-rez and Qt.py News Date Releas

10 Nov 03, 2022
The Python Achievements Framework!

Pychievements: The Python Achievements Framework! Pychievements is a framework for creating and tracking achievements within a Python application. It

Brian 114 Jul 21, 2022
A parallel branch-and-bound engine for Python.

pybnb A parallel branch-and-bound engine for Python. This software is copyright (c) by Gabriel A. Hackebeil (gabe.hacke

Gabriel Hackebeil 52 Nov 12, 2022
Osu statistics right on your desktop, made with pyqt

Osu!Stat Osu statistics right on your desktop, made with Qt5 Credits Would like to thank these creators for their projects and contributions. ppy, osu

Aditya Gupta 21 Jul 13, 2022