Fleet-Scheduling API with SMS Notifications (AdonisJS)
Overview
A Node.js scheduling API on AdonisJS that manages fleets and appointments and sends SMS notifications via two telephony providers. The backend of a fleet/appointment-scheduling tool.
Why It Exists
A scheduling product (“programator” = scheduler) needed an API to manage fleets and time slots and to notify users by SMS, with provider redundancy across carriers.
What We Built
An AdonisJS 4.1 app (app, config, database, start) exposed via server.js, using Lucid ORM over SQLite and JWT auth (jsonwebtoken). Domain config is seeded from default_fleet.json, fleets.json, and default_language.json. SMS is sent through both Nexmo (Vonage) and Plivo for carrier redundancy, with moment/moment-timezone for slot scheduling. Includes a Dockerfile, GitLab CI pipeline, Adonis Vow tests (vowfile.js), and a mario.html reference page.
Technologies & Approach
AdonisJS + Lucid + SQLite, JWT auth, dual SMS gateways (Nexmo + Plivo), timezone-aware scheduling, containerized with a GitLab CI/CD pipeline.
Outcome / Impact
Delivered the API and SMS-notification backbone of the scheduling tool, paired with bodo-programator-frontend.
Capabilities Demonstrated
- Scheduling / fleet-booking API design
- Multi-provider SMS notification integration
- CI/CD-driven, containerized Node services