Webcashier
My biggest project so far
In 2016 we started with an application for ticket agents in busstations to sell tickets.
I have been lead- and/or solo developer of the application for the whole time.
Since 2016 then the application has grown a lot.
What started out as a small application to be used in busstations in France, is now a tool for busstations, trainstations and phone customer support.
The application supports more than 20 languages and is in everyday use in
Europe: Estonia, Latvia, Lithuania, Sweden, Norway, Poland, Germany, France, Spain
Africa: Morocco and USA
Technology
Aurelia.js
Typescript
Bootstrap
Less
Mocha
React
REST api
My responsibilities
The first choices of stack were made by our tech arhitect.
Later I made the decisions and architectured the application.
There were times when I had thorough analysis and documentation to base the code upon, but most of the time my input was the description of the requested feature and I figured out what was need from backend and from the application to make this feature a reality.
- Interfaced with clients, providing technological expertise
- Proposed and implemented scalable solutions to issues identified during end-user research
- Planned, architectured and wrote the code for the application
- I did not design the visuals and I did not design the UX!
- But I worked closely with designer, management team and backenders to understand the needs, develop, document, and manage the application
What I have learned
- Team love! Team is important. Team is your family, your lover and best friend. You learn from them and you teach them. Team is the most important thing in development!
- No spaghetti code! Please! Take your time. Think. And refactor.
- Keep your methods small. Keep your files small. Keep your commits small.. Small is better
- Every corner you cut will bite you before the end
- Write tests for your code! But not any tests. Only meaningful tests matter!
- Research the end user
- Learn! Keep learning! And learn some more. You will never know it all..
- Do not be afaid!
- Comfort zone is not your friend! It's ok to be calm for a few months, but then you have to start pushing again
More about the application. What can you do with the it?
- Sell tickets (of course)
- View already bought tickets. There is A LOT of data that comes with a ticket. Names, addresses, comments, routes, addoms, seats, etc.. Lot of stuff.
- Return tickets. And get a refund. Or not get a refund
- Modify tickets. With cost or without cost..
- Check in the whole bus
- Check in individual people or mark them as no-shows
- Release seats for no-shows or book seats for other passengers
- Add luggage. Add more luggage. Return the added luggage. Change the luggage. Lose the luggage.. Oh, no, wait.. this is not done by the application.
- Change seats. Book seats for pets or children or special needs. And make sure everyone has their friend beside them.
- Sell different addons. Like water. Or bycicle. Or insurance. Or parking pass for your car.
- Download reports. Many reports. All kinds of reports. I would never have thought there are so many reports in the world
- Sell vouchers. This is a cool one! You can specify the value of a voucher and the price. And then sell them and later use them to pay for the bus tickets
- Connect bus tickets to different client cards. Or travel passes - which is like a prepay that lets you ride for free for some time or some routes.
- Etc... It is a big application :)