Things you should do long-term: Quit. Get out of there. Start job hunting now and do not look back. No matter what they promise you or say they will change or anything, just get out of there ASAP. I would not quit right now though, at least you're getting a paycheque, and a gap in employment history can be worrying to future employers. Providing you are able to handle this current project in a healthy way, you may as well stick it out and continue collecting your paycheque.
Things you should do right now: There are a lot of them:
Push back extremely hard on getting this job done on their schedule. Make a reasonable estimate of how long the remaining tasks (in your to-do board) will take, and tell your manager that's how long the project will take. If your manager says something like "that's not acceptable", then simply say, "I'm sorry if it's not acceptable, but that's the timeline and I'm sticking to it; if you want it done faster then you need to decrease scope on this project". Make sure you emphasize that this is non-negotiable; junior devs such as yourself see themselves with little power and often cave to their boss under even the slightest pressure. This is the time to stand up for yourself. If he fires you because of that, then no big loss, you're planning to quit anyway (see above).
Stop working outside of regular business hours. You're not being paid for those hours (unless you are). Work is an equivalent exchange: You give them your time, they pay you for the time you give. If they are not paying you extra for your time, you do not give them extra time. That's how it works. When the clock strikes 5pm (or whenever you finish your job), that's it, you close your laptop and you're done. This is for your own mental health; you need rest, both actual sleep and also just mental detachment from your job, and it seems like you're getting neither.
Follow up with the IT guy immediately and make him give you the proper tools for your job. If your laptop is broken, or out of date, or whatever, have him fix it. If he says no, or he can't, or some other excuse, follow up with your manager and explain you cannot work unless you have a work computer to work on. If your manager follows up by asking you to work on your own device, then ask your manager to have HR sign a form that indemnifies you from any legal repercussions in case your personal computer gets lost, dies, gets hacked, or for any other reason you accidentally disseminate or lose company secrets or IP stored on your local machine. People (most people) tend to be pretty lax with their own personal machine security, and if you are such a person, you shouldn't be held professionally responsible for personal mistakes. If your manager refuses this form or HR refuses to sign it, then simply say that you refuse to use your own personal machine for work until such a form is signed. Again, if they threaten to fire you, call their bluff, it's no big loss to you.
Check your locale's legal statues and see if you have something similar to Constructive Dismissal. IANAL, and I am especially not a South African lawyer, but your situation sounds like it might meet such statues if they exist. You may want to contact a lawyer, or at least post on Law SE to see if it's worth contacting a lawyer. If you have Constructive Dismissal statutes, then you should just quit immediately and sue your employer for damages under those statutes (contact a lawyer before you do any of this to make sure you have a worthwhile case)