Skip to content

Planning

Ethan edited this page Oct 13, 2026 · 4 revisions

CobStash Planning

CobStash is planned to be a full-stack application with three main parts:

  1. COBOL Backend
  2. TypeScript API
  3. React + TypeScript Frontend

Docker integration through docker compose is also planned for this project in the far future.

Plans for Backend

The basic idea for the backend (and main gimmick for the project) is that it's actually a GnuCOBOL app that reads from an ORGANIZATION INDEXED file (i.e., a file with records identified by a primary key of some sort) as opposed to integrating with and connecting to a database like MySQL or PostgreSQL. The backend reads input from the API via command-line arguments, performs an operation on the indexed file, and sends output to stdout.

Backend Checklist

  • Read formatted input from CLI Args
  • Basic indexed file handling
    • Creating new record from CLI input
    • Reading existing record from CLI input
    • Updating existing record from CLI input
    • Deleting existing record from CLI input
  • Output record contents to stdout

Plans for API

The API, written in TypeScript, uses an Express server to listen for HTTP requests from the frontend and uses them to send requests to the backend, gets responses from the backend, formats them into JSON, and sends them back to the frontend.

API Checklist

  • Runs on port 3000
  • Spawns a child process of the backend
  • Successfully reads stdout of the backend
  • Parses backend requests and responses into JSON
  • Parses HTTP requests and responses (JSON) into backend requests
  • Processes HTTP requests and formats them into valid requests for the backend to read
  • Can test endpoints through Postman
    • Receives HTTP requests
    • Can create, read, update, and delete stash records through the HTTP requests

Plans for Frontend

The frontend of CobStash will be a fully styled React website that interacts with the backend through the API.

Frontend Checklist

NB: Full feature checklist will be added to as the frontend is developed.

  • Fully styled with SCSS
  • Makes requests to API for stash records via HTTP

Clone this wiki locally