I'm working on a Learning Management System (LMS) for a single driving theory course, and the number of users will be small. I need some advice on how to set up the backend, specifically for user authentication and progress tracking.
The admin will generate user accounts, and these accounts should last for 90 days. I realized that since there's only one course, I might just keep the course content in the frontend. The client is not technical, so I'm handling everything myself, and they have shown interest in using Moodle.
I've already started the project using Next.js, but I find the backend part quite confusing, especially regarding folder structure and where to store course data. Any suggestions would be greatly appreciated!
2 Answers
If you're considering keeping things simple, you might want to opt for Supabase, especially since you're using Next.js. It's great for small projects and can handle authentication easily. For your situation, you don’t really need to overcomplicate things with a separate backend if the client won't need to edit course content regularly.
For a simple setup, you can't go wrong with using FastAPI along with Postgres. It's a solid combo for backend applications. Since you're new to backend development, it might be worth checking out. It has a straightforward approach that could take some of the confusion out of structuring your folders.
I'm just starting with backend too. Would you still recommend FastAPI for beginners? I'm also looking into Supabase since it's a simpler option.

That sounds like a good approach! So I can just keep the course in the frontend? That’ll save me some hassle.