NEM: Notre Education Moderne

Landing page of the NEM website
Landing page of the NEM website
Profile creation page
Profile creation page
Settings page
Settings page
Stripe settings
Stripe settings
Calendar page
Calendar page
Teachers lists page
Teachers lists page
Subscription plans
Subscription plans
Scheduled class details
Scheduled class details
Teacher's student list
Teacher's student list
Online classroom
Online classroom
Whiteboard
Whiteboard
Screen share
Screen share
Image 0 of 0

Project Overview: NEM is my startup project that aims to remove borders by creating an online platform that empowers students accross the globe to have access to quality education of various topics and languages. Teachers can share their knowledge and improve their skills with NEM. NEM let’s teachers select their availabilties, given them full control of their time.

Objectives

  1. Develop a platform that empowers students to have access to quality education of various topics and languages.
  2. Provide teachers with full control of their time.
  3. Empower teachers to share their knowledge and improve their skills.
  4. Create group classes with a qualified teacher to promote knowledge sharing.

Features

  1. Pass NEM
  • Each student has it’s own Pass NEM, which is sort of like a passport. This links our vision of no borders, because with their Pass NEM, students can have access to quality education of various topics and languages wherever they are.
  • Every time the complete a lesson, the student gets a stamp in their Pass NEM.
  1. Online classes
  • Every class is made available online. Teachers can control their online classes with video conferencing. They can share their screen, create whiteboards, polls, and chat in the chatbox.
  • At the given time, students can join the online class, activate their microphone and camera, and start learning.
  1. Freedom of choice
  • Student select which topic or language they want to learn, and whether they want to learn it in group or individually. Group classes can host a maximum of 4 students.
  • Teachers select which topic or language they want to teach. They can also select time periods where they want to teach in their calendar. The can also select their own hourly rate.

Architecture

Built with Sveltekit, NEM leverages Prisma and Postgres for robust database functionality, all seamlessly hosted on Vercel for optimal performance and reliability. Additionally, NEM incorporates a custom WebSocket server developed in Go, enhancing efficiency and leveraging Go channels for concurrent operations. All payments are handle with Stripe and Stripe Connect, for student to teacher payments, and Webhook events to listent to in the backend.

Technology Stack

  • Full-Stack: SvelteKit, Tailwind CSS, Authjs
  • WebSocket server: Go
  • Database: PostgreSQL with Prisma
  • Payments: Stripe payments and Stripe Connect

Outcome

  • I have a beta version released, but still need some work and bug fixes before I can launch it officially.
  • I have learned a lot along the way, especially how to launch a production ready web application, with all of it’s complexity from authentication, database queries and performance, and finaly payment processing with Stripe, by not only accepting payments from students, but also paying teachers. I have gained an extensive understanding of SvelteKit and Stripe along the way.
  • I can confidently say that I have gained a lot of experience and motivation in the field of web development. I can see what it takes to create a professional web application, from A to Z, and I am more than excited to create more. I am excited to see where this project takes me.