One month ago I joined a startup and we decided to create our product using RedwoodJS.
I will use this topic to talk about it: scope, progress so far, where & what to see, roadblocks mentions… whatever comes up.
The startup is a side project from another company, a network of skiing schools in France. The original founders were all working in the digital industry before they decided to create this first business, eventually they saw an opportunity and decided to work on a product they knew they could use in their school network business.
I joined them early on march because their original CTO had an unexpected carreer change, we are enlisted into 2 business incubators in France and are planning for a second fund raising some time ahead.
Our product is a management & e-commerce tool designed for outdoor activities schools: Ski schools, sailing schools, whatever that happens in an old not-locked down fashion.
That’s for the first step of our product, in the coming months we will also ship a separate app, hopefully implemented as a RW side, which will be a checkout tunnel to let salesmen take orders and record them directly through our product.
So the application has two core features: team planning dispatching monitors to sport classes & sales management.
Status items ( consider accurate at time of reading only )
- Recruitment - Closed
- Contacts - Get in touch , we’ll be looking for extra muscles in the following months!
- Preprod - Private ( url will be given once we open it )
- Go live precise date - unknown
getting things done
About the market
That’s an 800 millions € market in France only, and we’re out for a decent bite of it - in and out country.
Business raw Roadmap
- June 2021: we’ll open our product to our selected clients who will help test it out in real conditions.
- September 2021: fixes on clients’ feedback + preparation for the next season’s opening
- November 2021: v1 live
- Hosting - Netlify
- DB - Heroku w/ PostGr
- Auth - Firebase
- dayjs - We have a lot of operations to do with dates so that’s a must.
- faker - We generate some sample data by the hundred to test performances and have a quick feeling of how the UX would feel, a couple of years later on a customer’s subscription.
- material-ui - Our designs were built with figma from devias, so it’s an obvious choice, but in the meantime we want to avoid perf issues, so we’re keeping a severe eye on this one.
- dexie - We wanted to keep some session data, dexie helps with that.
- is_js - for some data checks, unfortunately we are missing checks for some local types ( phone numbers, postal codes, that sort of stuff )
- [ ] - Deploy everything to AWS ( we’ve got advantages there thanks to past relationships with AWS, that’s mostly why )
- [ ] - Polishing Stories for our UI lib ( not Material-ui’s, but SportOffice’s UI )
- [ ] - Cover UI lib with tests ( Jest & Playwright )
- [ ] - Implement RW’s logger in full + report
A month old
What worked & got achieved
- Using RW we managed to ship a first draft for every core management items, such as Account, Teams and the various user roles: Manager, Monitor, Customer, Student. We used scaffolding but tweaked it a lot to integrate Material-UI and a couple of things a bit more exotic. We create Disciplines ( sport activities ) and tie them to their own dedicated Levels using tiny cells.
- We set up Authentication through firebase
- We set up full translation support.
- We have 100% of api endpoints covered & tested successfully - custom tests supported by scenarios.
- We have a populating feature that allows us to create fake data in a blink of an eye: thousands of entities are fed to our model, we are using it for flexibility and to further test what sort of charge RW can take, in a pretty standard stack.
- We handled 2 upgrades:
- v0.27.0 and further patch, the version in itself broke our tests, the issue has been resolved - but we couldn’t write tests for some days.
- v0.28.0, which went without problems.
- We began working on our own ui library.
- We setup Dexie for some session support ( eg: app settings )
What worked less
- Storybook support was rather scarce before v0.28.0 so we’ll have to resume a lot of work on it and investigate configuring addons to have real value there.
- Upgrades have historically been difficult for me, but to be fair there’s a lot of work around them and we’re happy to help testing early on current releases.
- Server hosting, which oddly enough is not always an out-of-the-box type of gift. We’ve had an obscure issue that is now solved, not sure what could have been done to prevent it: Deploy - Cannot use import statement outside a module - #13 by noire.munich
- We’ll do our best to resume work on Storybook and hopefully write a cookbook that would be helpful to the community - but take this as a bold promise as of time of writing, there’s a lot to do for us in a short time.
- We need to be able to go live for a preprod environment, if that doesn’t happen in the following weeks it will mean trouble for our business and lead us to early failure, so that will be a strong focus.
- We’ll develop our core features: Products & Sessions, the next update should come once these are done.