Backend Developer (Django preferred / NodeJS alt) for Online Driving School Platform (API-first, SaaS)

Project Description

I’m building a SaaS platform for online driving schools in Spain. The platform allows driving schools to manage students, deliver online classes, run theory tests, issue certificates, and collect payments, all through a single system.

This project is backend-only. The frontend will consume a REST API, so clean architecture, good documentation, and long-term maintainability are essential.


What the backend must handle

User and role management:
- Students (free, paid, and school-managed)
- Driving school staff (admins, instructors, managers)
- JWT-based authentication
- OAuth login (Google and Apple)
- Email verification before accessing full features

Multi-tenant logic (single database):
- Multiple driving schools using the same platform
- Each student belongs to one driving school (or the main platform)
- Role-based access and permissions
- Proper data isolation using roles / policies (RLS or equivalent)

Courses, classes, and tests:
- Driving licenses and professional courses (e.g. license B, forklift certification)
- Theory and practical courses
- Online tests with different modes (training vs exam simulation)
- Progress tracking per student
- Live classes metadata (streamed via YouTube or Vimeo)
- Attendance tracking for mandatory courses
- Recorded classes reusable multiple times

Certificates:
- PDF certificate generation (generated once and stored)
- Issued by the responsible entity (main platform or driving school)
- Expiration date clearly shown (certificates remain downloadable even if expired)

Payments:
- Stripe integration
- One-time payments and subscription plans
- Discount codes and promotions
- Gift subscriptions (configurable duration)
- Access remains active until the end of the paid period after cancellation

AI integration:
- AI tutor used to answer students’ questions
- Rate-limited for non-registered users
- Unlimited for paid users
- Backend endpoints to support AI usage, history, and analytics
- Prompts managed only by the platform admins

Admin dashboard (backend side):
- Manage users, schools, courses, pricing, discounts
- View platform usage statistics
- Adjust XP / levels / gamification parameters
- Curate public questions for the AI tutor

SEO-ready API:
- SEO-friendly slugs
- Metadata endpoints (title, description)
- Public endpoints for courses and FAQs
- Prepared for future frontend SSR or pre-rendering


Tech stack

Preferred:
- Django + Django REST Framework

Alternative:
- Node.js + Express (or NestJS)

Common requirements:
- PostgreSQL
- JWT authentication
- Stripe payments
- OpenAPI / Swagger documentation
- Clean, modular, stateless code


Deliverables
- Source code in a Git repository with clear commit history
- PostgreSQL schema and migrations
- Unit and integration tests
- OpenAPI / Swagger documentation for all endpoints
- README explaining how to run the project locally
- Short hand-off session and deployment to our cloud environment


Acceptance criteria
- All endpoints return correct JSON responses and HTTP status codes
- Authentication and payments work end-to-end in sandbox mode
- API documentation is complete and accurate
- A new developer can run the project locally in under 10 minutes
- Code is readable, maintainable, and production-ready


Additional notes
- Backend and frontend will be hired separately
- If you are a strong full-stack developer, priority for the frontend phase will be given to the backend developer
- This is a serious, long-term project with future phases

Clean code, clear documentation, and solid architecture matter more than flashy frameworks.

If that matches your way of working, I’d be happy to hear from you. Show More

Attachments

Freelancers Bidding (0)

  • This project has no proposals yet.
    Be the first to place a bid on this project!