Skip to content

Telegram bot for me and my friends, which helps us to order cocktails and other things at our parties.

License

Notifications You must be signed in to change notification settings

anunknowperson/alcounting_bot_fortan

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ALCOUNTING TELEGRAM BOT (FORTRAN-77 EDITION)

code-quality

A PROPER PROGRAM FOR PARTY MANAGEMENT, WRITTEN IN GOD'S LANGUAGE - FORTRAN

TABLE OF CONTENTS (PUNCH CARD SEQUENCE)

C     CARD 1-10: DESCRIPTION
C     CARD 11-20: INSTALLATION GUIDE
C     CARD 21-30: DOCUMENTATION
C     CARD 31-40: CONTRIBUTING

DESCRIPTION

This magnificent piece of engineering is written in PROPER FORTRAN-77, none of that newfangled Python nonsense! Using time-tested principles of structured programming and fixed-format source code, just as nature intended.

FEATURES (ALL PROPERLY ALIGNED TO COLUMN 72):

  • DRINK ORDERING SUBSYSTEM (TESTED ON IBM 360)
  • ROLE-BASED ACCESS CONTROL (LIKE WE HAD IN THE MILITARY)
  • MAGNETIC TAPE DATABASE INTEGRATION (OR SQLite3 IF YOU INSIST ON BEING MODERN)

INSTALLATION GUIDE

STEP 1: ACQUIRE PROPER HARDWARE

C     MINIMUM SYSTEM REQUIREMENTS:
C     - IBM MAINFRAME (OR EQUIVALENT)
C     - 64K WORDS OF CORE MEMORY
C     - MAGNETIC TAPE DRIVE
C     - CARD READER/PUNCH UNIT

STEP 2: COMPILE AND LINK

C     ON PROPER SYSTEMS:
      $ FORTRAN BOT.FOR
      $ LINK BOT.OBJ
      
C     FOR THESE "MODERN" MACHINES:
      $ gfortran -o bot src/*.f90 -Wall

STEP 3: EXECUTION

C     MOUNT APPROPRIATE MAGNETIC TAPES
C     LOAD CARD DECK
C     PRESS IPL BUTTON
      $ ./bot

DOCUMENTATION

PROGRAM STRUCTURE (PROPER FORTRAN MODULES)

C     /BOT/
C     |-- HANDLERS.F90    ! COMMAND PROCESSING UNIT
C     |-- DATABASE.F90    ! DATA MANAGEMENT SYSTEM
C     |-- USERS.F90       ! USER AUTHENTICATION MODULE
C     `-- MAIN.F90        ! PRIMARY CONTROL PROGRAM

ACCESS LEVELS

C     CUSTOMER ACCESS (PRIVILEGE LEVEL 1)
      - MENU VIEWING CAPABILITIES
      - ORDER PLACEMENT SUBSYSTEM
      - PERSONAL ORDER RETRIEVAL
      
C     BARTENDER ACCESS (PRIVILEGE LEVEL 2)
      - QUEUE MONITORING FACILITIES
      - ORDER CONFIRMATION PROTOCOLS
      
C     ADMINISTRATOR ACCESS (PRIVILEGE LEVEL 3)
      - COMPLETE SYSTEM CONTROL
      - MAGNETIC TAPE MANAGEMENT

DATABASE SPECIFICATIONS

C     RECORD FORMAT:
C     COLUMNS 1-8:   USER IDENTIFICATION
C     COLUMNS 9-16:  ACCESS LEVEL CODE
C     COLUMNS 17-66: USER PARAMETERS
C     COLUMNS 67-72: CHECKSUM

CONTRIBUTING

Note from The Fortran Community:

If you wish to contribute to this PROPERLY WRITTEN system, please ensure:

  1. All code is written in FIXED FORMAT FORTRAN
  2. NO GOTO STATEMENTS LESS THAN 3 LEVELS DEEP
  3. ALL VARIABLES PROPERLY DECLARED IN COMMON BLOCKS
  4. NO MODERN NONSENSE LIKE "OBJECTS" OR "CLASSES"

Submit your card deck to the operator's window between 0900-1700 hours.


P.S. - These modern "pull requests" and "issues"... Back in my day, we submitted bug reports on IBM cards, and we LIKED it!

P.P.S. - What's wrong with FORTRAN-66? Kids these days with their fancy FORTRAN-77...

P.P.P.S. - Remember when we had to book computer time three weeks in advance? Those were the days!

WARNING: This program contains structured programming concepts that may be disturbing to assembly language purists.

About

Telegram bot for me and my friends, which helps us to order cocktails and other things at our parties.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Fortran 100.0%