Overview and objectives
Coastline academy is a driving ed school that leverages tech in order to deliver a superior user experience for students and driving instructors alike.
I joined the company to help in developing the backend administrative dashboard, a tool used by the support team in any custom service task. During a full year of working within the team I’ve been involved in the course booking process, purchase system, online courses module, lesson report and setting up the cypress test environment.
This project, and specifically the code base, had a very strict set of rules that needed to be followed. Avoid local state when possible, decouple business logic from views when possible, abstract stateful logic into reusable, testable components - custom hooks were just a few of the best practice used.
Cypress setup was one of the more difficult tech parts for this project, for me. The project was using Firebase for storage and in development, Firebase emulator were used. Making cypress interact with this in order for every test to create its own data and run tests against it was a challenge. On top of this types were required since the project was done in Typescript. It was an interesting experience from which I’ve learned a lot.
One of the biggest features of this platform was the ability to book a lesson. It’s difficulty came from the fact that it’s interacting with a lot of parts through the system like scheduling system, purchases, timezone management and others. This was also a module that was tested with Cypress.
The outcome of this project was a fully functional admin dashboard, easy to maintain and expand with new features.