To add onto @ieahleen pointed out (there are many ways to do this) there are also a lot of things you could go out and add/build for this platform.
From this description of what you want to build, your requirements are kinda vague in that there are still specifics to iron out. Not that you have to explicitly tell us what you want to build (you might not even be sure yet yourself haha!) but you should have a firm idea of what you want to build before you start to build it, otherwise you will have a tough time learning what you need to learn and end up feeling “lost”.
Like how will this be different than others? Or how will students around the globe communicate? Will it be a forum-like software like Discorse (what this forum runs on) or a chat platform like Slack, or maybe even a youtube competitor, where students and teachers can upload their own videos
Each sort of platform has its own considerations in terms of technology and their own general challenges. You might even have something else totally in mind which will require you to learn different stuff.
The problem becomes less about the language or technologies your using, but rather knowing what the problem will be and how to solve it with a given language or technology. For example, with the above 3 examples each have their own specific problems that need to be considered.
- Discourse provides a lot of features for moderation, content management, and customization beyond just general “post message” features.
- Slack can run on global scales with billions of messages being sent each week with messages all needing to arrive to other user’s around the globe as fast a possible.
- Youtube is one of the largest contributors to the entire internet traffic in terms of bytes sent, with hours of content uploaded every second.
I’m not saying you have to try to run at these scales, or think about needing to support that sort of scale, but each platform’s problem doesn’t go away even on smaller scales.
So identify what you want your platform to do, then find out what you need to do to build for those features for the technologies/languages you want to use.
Good luck, keep building, keep learning