| Quarterly Results (Unaudited) | Quarterly Results (Unaudited) 
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
|  |  | Quarter Ended July 31 |  | Quarter Ended October 31 |  | Quarter Ended January 31 |  | Quarter Ended April 30 |  | Year Ended April 30 |  
| Year Ended April 30, 2021 |  |  |  |  |  |  |  |  |  |  |  
| Revenue |  | $ | 15,165,562Ìý |  |  | $ | 16,971,045Ìý |  |  | $ | 16,624,837Ìý |  |  | $ | 19,051,076Ìý |  |  | $ | 67,812,520Ìý |  |  
| Cost of revenue (exclusive of depreciation and amortization) |  | 5,847,523Ìý |  |  | 7,324,780Ìý |  |  | 7,559,951Ìý |  |  | 8,721,479Ìý |  |  | 29,453,733Ìý |  |  
| Operating loss |  | (366,341) |  |  | (2,797,247) |  |  | (2,784,825) |  |  | (2,295,735) |  |  | (8,244,148) |  |  
| Loss before income taxes |  | (945,096) |  |  | (4,333,995) |  |  | (2,804,806) |  |  | (2,332,432) |  |  | (10,416,329) |  |  
| Net loss |  | (943,196) |  |  | (4,370,525) |  |  | (2,815,266) |  |  | (2,319,986) |  |  | (10,448,973) |  |  
|  |  |  |  |  |  |  |  |  |  |  |  
| Net loss per share allocable to common stockholders - basic and diluted |  | $ | (0.04) |  |  | $ | (0.19) |  |  | $ | (0.11) |  |  | $ | (0.09) |  |  | $ | (0.44) |  |  
|  |  |  |  |  |  |  |  |  |  |  |  
|  |  | Quarter Ended July 31 |  | Quarter Ended October 31 |  | Quarter Ended January 31 |  | Quarter Ended April 30 |  | Year Ended April 30 |  
| Year Ended April 30, 2020 |  |  |  |  |  |  |  |  |  |  |  
| Revenue |  | $ | 10,357,982Ìý |  |  | $ | 12,085,965Ìý |  |  | $ | 12,537,940Ìý |  |  | $ | 14,079,193Ìý |  |  | $ | 49,061,080Ìý |  |  
| Cost of revenue (exclusive of depreciation and amortization) |  | 4,353,058Ìý |  |  | 4,188,056Ìý |  |  | 5,163,007Ìý |  |  | 5,431,181Ìý |  |  | 19,135,302Ìý |  |  
| Operating loss |  | (1,638,800) |  |  | (331,775) |  |  | (1,728,048) |  |  | (339,790) |  |  | (4,038,413) |  |  
| Loss before income taxes |  | (2,039,687) |  |  | (628,168) |  |  | (2,265,889) |  |  | (673,501) |  |  | (5,607,245) |  |  
| Net loss |  | (2,075,282) |  |  | (638,168) |  |  | (2,281,052) |  |  | (664,563) |  |  | (5,659,065) |  |  
|  |  |  |  |  |  |  |  |  |  |  |  
| Net loss per share allocable to common stockholders - basic and diluted |  | $ | (0.11) |  |  | $ | (0.03) |  |  | $ | (0.12) |  |  | $ | (0.03) |  |  | $ | (0.29) |  |  |