| Stockholders' Equity (Tables)
 | 6 Months Ended | 
| Oct. 31, 2021 | 
|---|
| Stockholders' Equity Note [Abstract] | Ìý | 
| Schedule of Restricted Stock Unit Activity | A summary of the Company’s RSU activity during the six months ended OctoberÌý31, 2021 is presented below: 
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
| Restricted Stock Units |  | Number of Shares |  | Weighted Average Grant Price |  
| Unvested balance outstanding, April 30, 2021 |  | 549,972Ìý |  |  | $ | 6.58Ìý |  |  
| Granted |  | 412,792Ìý |  |  | 6.16Ìý |  |  
| Forfeits |  | (28,841) |  |  | 9.80Ìý |  |  
| Vested |  | (34,820) |  |  | 6.15Ìý |  |  
| Expired |  | —Ìý |  |  | —Ìý |  |  
| Unvested balance outstanding, October 31, 2021 |  | 899,103Ìý |  |  | $ | 5.38Ìý |  |  | 
| Summary of Warrant Activity | A summary of the Company’s warrant activity during the six months ended OctoberÌý31, 2021 is presented below: 
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
| Warrants |  | Number of Shares
 |  | Weighted Average
 Exercise
 Price
 |  | Weighted Average
 Remaining
 Contractual
 Term
 |  | Aggregate Intrinsic
 Value
 |  
| Balance Outstanding, April 30, 2021 |  | 374,174Ìý |  |  | $ | 6.37Ìý |  |  | 1.90 |  | $ | —Ìý |  |  
| Granted |  | 75,000Ìý |  |  | $ | 6.23Ìý |  |  | 4.80 |  | —Ìý |  |  
| Exercised |  | —Ìý |  |  | $ | —Ìý |  |  | —Ìý |  |  | —Ìý |  |  
| Surrendered |  | —Ìý |  |  | $ | —Ìý |  |  | —Ìý |  |  | —Ìý |  |  
| Expired |  | —Ìý |  |  | $ | —Ìý |  |  | —Ìý |  |  | —Ìý |  |  
| Balance Outstanding, October 31, 2021 |  | 449,174Ìý |  |  | $ | 6.35Ìý |  |  | 1.96 |  | $ | —Ìý |  |  
|  |  |  |  |  |  |  |  |  |  
| Exercisable, October 31, 2021 |  | 424,174Ìý |  |  | $ | 6.31Ìý |  |  | 1.80 |  | $ | —Ìý |  |  | 
| Share-based Payment Arrangement, Option, Exercise Price Range | 
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
| OUTSTANDING WARRANTS |  | EXERCISABLE WARRANTS |  
| Exercise Price
 |  | Weighted Average
 Exercise
 Price
 |  | Outstanding No. of
 Warrants
 |  | Weighted Average
 Exercise
 Price
 |  | Weighted Average
 Remaining Life
 In Years
 |  | Exercisable No. of
 Warrants
 |  
| $ | 4.89Ìý |  |  | $ | 4.89Ìý |  |  | 50,000Ìý |  |  | $ | 4.89Ìý |  |  | 2.44 |  | 50,000Ìý |  |  
| $ | 5.85Ìý |  |  | $ | 5.85Ìý |  |  | 50,000Ìý |  |  | $ | 5.85Ìý |  |  | 4.84 |  | 50,000Ìý |  |  
| $ | 6.00Ìý |  |  | $ | 6.00Ìý |  |  | 100,000Ìý |  |  | $ | 6.00Ìý |  |  | 2.35 |  | 100,000Ìý |  |  
| $ | 6.87Ìý |  |  | $ | 6.87Ìý |  |  | 224,174Ìý |  |  | $ | 6.87Ìý |  |  | 0.73 |  | 224,174Ìý |  |  
| $ | 6.99Ìý |  |  | $ | 6.99Ìý |  |  | 25,000Ìý |  |  |  |  |  |  |  |  
| Ìý |  |  |  | 449,174Ìý |  |  | Ìý |  | Ìý |  | 424,174Ìý |  |  
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
| OUTSTANDING OPTIONS |  | EXERCISABLE OPTIONS |  
| Exercise Price
 |  | Weighted Average
 Exercise
 Price
 |  | Outstanding Number of
 Options
 |  | Weighted Average
 Exercise
 Price
 |  | Weighted Average
 Remaining Life
 In Years
 |  | Exercisable Number of
 Options
 |  
| $3.24 to $4.38 |  | $ | 3.82Ìý |  |  | 179,264Ìý |  |  | $ | 3.81Ìý |  |  | 0.78 |  | 166,597Ìý |  |  
| $4.50 to $5.20 |  | $ | 4.94Ìý |  |  | 153,944Ìý |  |  | $ | 5.00Ìý |  |  | 1.99 |  | 111,019Ìý |  |  
| $5.95 to $6.28 |  | $ | 5.95Ìý |  |  | 28,000Ìý |  |  | $ | 5.95Ìý |  |  | 0.81 |  | 28,000Ìý |  |  
| $7.17 to $7.55 |  | $ | 7.45Ìý |  |  | 473,093Ìý |  |  | $ | 7.46Ìý |  |  | 1.82 |  | 465,092Ìý |  |  
| $8.57 to $9.07 |  | $ | 8.98Ìý |  |  | 157,749Ìý |  |  | $ | 8.98Ìý |  |  | 1.18 |  | 157,749Ìý |  |  
|  |  |  |  | 992,050Ìý |  |  |  |  |  |  | 928,457Ìý |  |  | 
| Summary of Stock Option Activity | A summary of the Company’s stock option activity for employees and directors during the six months ended OctoberÌý31, 2021, is presented below: 
|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
| Options |  | Number of Shares
 |  | Weighted Average
 Exercise
 Price
 |  | Weighted Average
 Remaining
 Contractual
 Term
 |  | Aggregate Intrinsic
 Value
 |  
| Balance Outstanding, April 30, 2021 |  | 1,214,473Ìý |  |  | $ | 6.24Ìý |  |  | 1.88 |  | $ | 204,719Ìý |  |  
| Granted |  | —Ìý |  |  | —Ìý |  |  | —Ìý |  |  | —Ìý |  |  
| Exercised |  | (216,752) |  |  | 5.77Ìý |  |  | —Ìý |  |  | —Ìý |  |  
| Forfeited |  | (4,419) |  |  | 4.61Ìý |  |  | —Ìý |  |  | —Ìý |  |  
| Expired |  | (1,252) |  |  | 2.76Ìý |  |  | —Ìý |  |  | —Ìý |  |  
| Balance Outstanding, OctoberÌý31, 2021 |  | 992,050Ìý |  |  | $ | 6.61Ìý |  |  | 1.56 |  | $ | 172,313Ìý |  |  
|  |  |  |  |  |  |  |  |  |  
| Exercisable, OctoberÌý31, 2021 |  | 928,457Ìý |  |  | $ | 6.72Ìý |  |  | 1.51 |  | $ | 161,584Ìý |  |  |