Jump to content

Recommended Posts

Posted

I would believe that a child must be fed at school which means there will be a debt on the account if balance is low. I have things in place to prevent this such as you top-up before making a pre-order. The "top-up" account will only be debited once the meal was taken. Worst case is a debt will be recorded and the parent would need to top-up to cover balance.

 

If a child could be refused lunch, then I could implement other features to work with that.

Posted
This is not really a choice you should be making as a developer. You should be developing a system that allows the school to make choices about what happens in various scenarios. A setting that allows schools to choose how much debt an account can get in to before the purchase is refused. You should perhaps be deciding on sensible defaults (0.00 in this case). The software should help the school run things how they want, not dictate how things are run.
  • Thanks 1
Posted
This is not really a choice you should be making as a developer. You should be developing a system that allows the school to make choices about what happens in various scenarios. A setting that allows schools to choose how much debt an account can get in to before the purchase is refused. You should perhaps be deciding on sensible defaults (0.00 in this case). The software should help the school run things how they want, not dictate how things are run.

 

I agree. I'll have this implemented.

Posted

I might be massively wide of the mark here, so do feel free to ignore me, but...

 

Looking at what's been brough up in this thread and your responses (I applaud your willingness to change based on feedback), I feel like maybe you're a little too close to this or that you've dived into the nuts and bolts of making it too quickly. And perhaps a lot of these sort of things could be more easily seen by yourself if you took a step back and started with something akin to a scoping document where you could map out exactly how, in an ideal world, you want all this to work.

 

Again sorry if I'm overstepping.

  • Thanks 1
Posted
I might be massively wide of the mark here, so do feel free to ignore me, but...

 

Looking at what's been brough up in this thread and your responses (I applaud your willingness to change based on feedback), I feel like maybe you're a little too close to this or that you've dived into the nuts and bolts of making it too quickly. And perhaps a lot of these sort of things could be more easily seen by yourself if you took a step back and started with something akin to a scoping document where you could map out exactly how, in an ideal world, you want all this to work.

 

Again sorry if I'm overstepping.

 

All responses are welcomed, Rob_D. At this stage, the app is a simple cashless payment system. I have previous projects where I could pull code from and place into Tuicamp, with a bit of tweaking. By all means it's not rushed. It will take a few more months before I'm at the individual demo stage where the demo data is unique to the logged in account. I totally forgot the school will need to set their own "rules" and that's the next step. By summer, version 1 should be born.

  • Thanks 1
Posted
Just out of curiosity, what methodology of development would you say you are working too, but not wanting to unnecessarily label it. I can see elements of iterative design and elements of minimum viable product (MVP), I term I total loathe when used as an excuse for producing rubbish! I certainly can see an argument for Agile, but that is a bandwagon risk and actually quite an old one now!
Posted
Just out of curiosity, what methodology of development would you say you are working too, but not wanting to unnecessarily label it. I can see elements of iterative design and elements of minimum viable product (MVP), I term I total loathe when used as an excuse for producing rubbish! I certainly can see an argument for Agile, but that is a bandwagon risk and actually quite an old one now!

 

MVP is in the mix. I use the term mvp because where I want Tuicamp to be, I can only make it a cashless app to begin with. I'm the sole developer here so I cannot use the term Agile or any other development methodologies. I make changes based on the feedback received. My focus is to get the this cashless app into the hands of a school for testing/trial later in the year.

  • Thanks 1
Posted

Since we've introduced schools should have control around debt limit, there are now some huge changes to the checkout process. It's no longer possible to have one pot. School "A" allows debt while School "B" does not. Though there will be one pot, monies can be moved around for these schools. If I deposit £10, I could easily transfer money to School B's pot. You can also deposit directly into either School's pot when topping up. Would love to demo this in a a few days time. This way School B will know if the parent/carer has any money for a meal or can keep track of the debit limit. This is getting interesting.

Screenshot 2025-01-20 at 16.52.36.png

 

Screenshot 2025-01-20 at 16.41.37.png

Posted

Hello, I've been reading this thread with interest, I recently started my own SaaS company in the education space. In fact we have a new product launch tomorrow! Some things I wish I did beforehand but learned and rebuilt along the way.

 

1) Use Google Firebase Authentication or Auth0 for your authentication system. These systems support SSO and are companies that spent lots of money investing in security rather than making your own system.

 

2) Does your software support Free School Meals (FMS) status, something to look into. Pupils do not have to pay for lunches when they have this status.

 

3) Make sure your company has Cyber Essentials and ISO 27001 or similar certification, that provides your company with training to keep data secure and trust for schools about how you store and manage data.

 

4) Ensure you have Data Protection policies in-place about measures you use to keep data secure, be transparent about your processes. Schools need this for their Data Impact Assessments.

 

5) Wonde is a great data aggregator, we use them and are very happy. How often are you pulling in data such as Allergies? Remember Wonde's APIs may not be current. Wonde pull data from school MIS systems once or twice a day, make sure the customer knows that if they make a change in their MIS it will not pull over immediately. Also Wonde does not pull in data for all UK Schools MIS make sure you read the Wonde MIS/SIS Coverage guide and on your website note the systems that fully support your app.

 

6) How are you managing data retention such as when Pupils/Staff become leavers and data is deleted. Are these values being managed by you or the customers.

 

7) Have the mobile app ready before release. A school I work with have a web-app for Meals and it was awful to roll out to parents because of how long it took to get set up and helping them log in each day because they don't save their passwords. Having an app means one-time set up on the device and then it hopefully stays logged in.

 

8) Do as much client-side as you can. For example use AJAX rather than rendering on Server-Side.

 

9) Are you using Sendgrid to manage email sending, you can do create your own email system but using Sendgrid for me especially has better deliverability rates

 

10) Use an industry standard web development framework that supports APIs (We are using Symfony with our own internal plugin for tenant management)

 

11) Use a CRM to maintain customer info (We started with Hubspot but will be moving to our own internal system soon)

 

12) How are you managing tenants information, one database for all customers? Or each customer having their own database. We opt for this option because if a client leaves instead of using a WHERE in SQL to find records related to the school we can just delete the database and be certain their data is removed.

 

13) Embed Analytics (How are people interacting with your app, which buttons are getting clicked the most and the least)

 

14) Privacy Notice and Saas Agreement (We spent upwards of £3,000 meeting with a law firm to get ours done, but it extremely important because it goes back to Data Protection/GDPR)

 

15) Server penetration testing, expensive but needed when you are dealing with an app where special-category information is kept.

 

16) Marketing, have a plan on how you are marketing, emails/cold calling, etc. We outsourced marketing to a firm to do telemarketing and emails before going in-house. If you want I can PM you there info. But also make sure you make calls yourself and run demos yourself to know your product inside out, I know it sounds silly as you build the software, but when I ran my first few demos I was so nervous I forgot key features, write down a script you'll use during calls. Know in the first few calls you will likely mess up and say something you shouldn't. This goes away with time as you get more and more confident.

 

I am more than happy to jump on a Teams call to help you out with any business questions or about the education sector. We were all new here once! :-)

  • Thanks 4
Posted
Hello, I've been reading this thread with interest, I recently started my own SaaS company in the education space. In fact we have a new product launch tomorrow! Some things I wish I did beforehand but learned and rebuilt along the way.

 

1) Use Google Firebase Authentication or Auth0 for your authentication system. These systems support SSO and are companies that spent lots of money investing in security rather than making your own system.

 

2) Does your software support Free School Meals (FMS) status, something to look into. Pupils do not have to pay for lunches when they have this status.

 

3) Make sure your company has Cyber Essentials and ISO 27001 or similar certification, that provides your company with training to keep data secure and trust for schools about how you store and manage data.

 

4) Ensure you have Data Protection policies in-place about measures you use to keep data secure, be transparent about your processes. Schools need this for their Data Impact Assessments.

 

5) Wonde is a great data aggregator, we use them and are very happy. How often are you pulling in data such as Allergies? Remember Wonde's APIs may not be current. Wonde pull data from school MIS systems once or twice a day, make sure the customer knows that if they make a change in their MIS it will not pull over immediately. Also Wonde does not pull in data for all UK Schools MIS make sure you read the Wonde MIS/SIS Coverage guide and on your website note the systems that fully support your app.

 

6) How are you managing data retention such as when Pupils/Staff become leavers and data is deleted. Are these values being managed by you or the customers.

 

7) Have the mobile app ready before release. A school I work with have a web-app for Meals and it was awful to roll out to parents because of how long it took to get set up and helping them log in each day because they don't save their passwords. Having an app means one-time set up on the device and then it hopefully stays logged in.

 

8) Do as much client-side as you can. For example use AJAX rather than rendering on Server-Side.

 

9) Are you using Sendgrid to manage email sending, you can do create your own email system but using Sendgrid for me especially has better deliverability rates

 

10) Use an industry standard web development framework that supports APIs (We are using Symfony with our own internal plugin for tenant management)

 

11) Use a CRM to maintain customer info (We started with Hubspot but will be moving to our own internal system soon)

 

12) How are you managing tenants information, one database for all customers? Or each customer having their own database. We opt for this option because if a client leaves instead of using a WHERE in SQL to find records related to the school we can just delete the database and be certain their data is removed.

 

13) Embed Analytics (How are people interacting with your app, which buttons are getting clicked the most and the least)

 

14) Privacy Notice and Saas Agreement (We spent upwards of £3,000 meeting with a law firm to get ours done, but it extremely important because it goes back to Data Protection/GDPR)

 

15) Server penetration testing, expensive but needed when you are dealing with an app where special-category information is kept.

 

16) Marketing, have a plan on how you are marketing, emails/cold calling, etc. We outsourced marketing to a firm to do telemarketing and emails before going in-house. If you want I can PM you there info. But also make sure you make calls yourself and run demos yourself to know your product inside out, I know it sounds silly as you build the software, but when I ran my first few demos I was so nervous I forgot key features, write down a script you'll use during calls. Know in the first few calls you will likely mess up and say something you shouldn't. This goes away with time as you get more and more confident.

 

I am more than happy to jump on a Teams call to help you out with any business questions or about the education sector. We were all new here once! :-)

Just checked out your product, very cool! Now if only it did teams integration ;)

 

And I echo everything you say, as a SASS developer myself all that advice is great.

 

Personally I would prefer Laravel framework so you get all the authentication and payment stuff baked it, but leveraging those 3rd party things above is also very good.

Posted
#15 alongside vulnerability scanning is vital if you want to be PCI/DSS compliant. Depends on exact workflow and underlying links (not sure if it's been mentioned before), but at some point the question might arise if you need it, or if someone requests that you have it, even if you're just a springboard to an externally hosted PSP
Posted

Schools are now able to set a debt limit which means a parent/carer will not be able to make any current or future orders when that debt limit is reached. This is only possible when I introduced "Pots". The idea was "borrowed" from Monzo Pots. With pots, a pot is assigned to a school and all payments, including future payments, will be deducted from that pot. By introducing pots, I'm now able to set rules around the school's debt limit. Having one account that "feeds" all schools won't be possible.

If your account is currently in minus (debt) and another school does not allow debt on the account, it wont be possible for the parent to make a pre-order for the school that disallows debt on the account. You'd have to clear that balance first before doing so. With Pots, you can to-up directly onto a pot where the school does not allow debt on the account, then use that pot at checkout. Everything is one place. All children, from that school, will use that pot. See attachments.

 

Hope to have a live demo by early or mid of next week.

 

demo_pot_activities.pngdemo_transfer_money.pngdemo_edit_pot.pngdemo_main_account.pngdemo_topup.png

Posted (edited)

As promised, payments, school global debt limit and per-parent basis debt limit is live on the website. Website is using Stripe test environment so please to use their test card

4000000000000077

. Exp date should be in the future ie 11/29 and any last 3 digits: 111

 

To recap, a school takes payments from a pot. A pot must be created for a school you wish to pre-order from (done already). In the future there will be a how-to section with videos. I guess I now need to focus on the school section UI then find ways for anyone to have their own demo data to play with. I've also posted a video on Twitter/X if you want to see it in action.

 

To delete a pot, the balance must be zero and a school has no activity on it. If you've only just created a pot, the pot has a zero balance, it can be deleted.

 

Any questions, I'm always here.

Edited by speedypro
Posted
As promised, payments, school global debt limit and per-parent basis debt limit is live on the website. Website is using Stripe test environment so please to use their test card
4000000000000077

. Exp date should be in the future ie 11/29 and any last 3 digits: 111

 

To recap, a school takes payments from a pot. A pot must be created for a school you wish to pre-order from (done already). In the future there will be a how-to section with videos. I guess I now need to focus on the school section UI then find ways for anyone to have their own demo data to play with. I've also posted a video on Twitter/X if you want to see it in action.

 

To delete a pot, the balance must be zero and a school has no activity on it. If you've only just created a pot, the pot has a zero balance, it can be deleted.

 

Any questions, I'm always here.

 

Just me being silly but TuiCoin sounds like a cryptocurrency :D

Posted
To delete a pot, the balance must be zero and a school has no activity on it. If you've only just created a pot, the pot has a zero balance, it can be deleted.

Any questions, I'm always here.

 

I'm sure you've already thought of this, but what happens if a student or staff member* leaves unexpectedly, or it just happens that they have a positive balance when the leave. Would the "parent" be able to get their money back and "zero out" the pot? And what if they didn't? What happens to that money? and how does the school get rid of the pot/account?

 

*I assume there's nothing stopping staff using this to pay for their own lunches, although that does open up another can of worms, as some schools would want/need to be able to offer free "duty meals" to staff with lunch duty, but only on the days they have that duty.

  • Thanks 1
Posted (edited)
I'm sure you've already thought of this, but what happens if a student or staff member* leaves unexpectedly, or it just happens that they have a positive balance when the leave. Would the "parent" be able to get their money back and "zero out" the pot? And what if they didn't? What happens to that money? and how does the school get rid of the pot/account?

 

*I assume there's nothing stopping staff using this to pay for their own lunches, although that does open up another can of worms, as some schools would want/need to be able to offer free "duty meals" to staff with lunch duty, but only on the days they have that duty.

 

Solid questions. Though not yet implemented (staff members, canteen login), but when I do, their sensitive data will be redacted from any databases, backups etc when deleted*. When a student leaves and the parent's account has a positive balance, there will be a refund button (not yet implemented) for them to get any money back. No need to email or phone any one (the way we all like it).

 

.. how does the school get rid of the pot/account.

 

I will have to implement that but schools will be able to delete anything created from a parent (on my list of things to do).

I assume there's nothing stopping staff using this to pay for their own lunches, although that does open up another can of worms, as some schools would want/need to be able to offer free "duty meals" to staff with lunch duty, but only on the days they have that duty.

 

Will get this implemented.

 

* Soft delete that will only remove (redact) sensitive data. Addresses, contact numbers will be deleted.

Edited by speedypro
Posted
My main question is: How critical will your clients require this service to be? If it goes offline for 5 mins exactly at dinner time does that make it worthless to them?
  • Thanks 1
Posted
My main question is: How critical will your clients require this service to be? If it goes offline for 5 mins exactly at dinner time does that make it worthless to them?

 

I really value these questions. Nothing is perfect and apps do go offline at times. I would imagine this would be very critical to any school at that time. It should be worthless if we look it. Any app would be rendered useless unless the school has a Plan B in place where they know who gets what etc. There are two things I could do:

 

 

  1. Each morning, canteen would know what to prepare and who gets what
  2. Implement an offline feature for crucial webpages (difficult)

 

That way schools can operate in the event the website/app is down temporally. I'll add this to my todo.

Posted
I really value these questions. Nothing is perfect and apps do go offline at times. I would imagine this would be very critical to any school at that time. It should be worthless if we look it. Any app would be rendered useless unless the school has a Plan B in place where they know who gets what etc. There are two things I could do:

 

 

I'd spend the engineering effort in running clustered HA. Even the databases. You should be able to survive multiple region failures on a 'ground up' app as you don't have the legacy rubbish that Bromcom/ESS have to deal with.

The DR site would hold the critical info.

Posted
I'd spend the engineering effort in running clustered HA. Even the databases. You should be able to survive multiple region failures on a 'ground up' app as you don't have the legacy rubbish that Bromcom/ESS have to deal with.

The DR site would hold the critical info.

 

While building this app, best practices will be my #1 priority though I'm not 100% a devOps person 🫣

Posted
Are you a team of 1 working on this? Doesn't that make you the single point of failure more than any technology? Is there a plan for if something happened to you and you were unable to continue supporting it after a school was using it?
Posted
Are you a team of 1 working on this? Doesn't that make you the single point of failure more than any technology? Is there a plan for if something happened to you and you were unable to continue supporting it after a school was using it?

 

Hi. It's only me. The plan is to get funding once I have evidence of schools willing to use the platform. If no funding, and the app is profitable, I'll hire people. For the start, it will be only me.

Posted
While building this app, best practices will be my #1 priority though I'm not 100% a devOps person 🫣

 

LMK if you need any advice on the devops side.

 

What backend architecture are you using? Single database per school, single table or single instance? There's trade-offs for each so no wrong answer just curious.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...