Skip to main content

ESPD - Online Tutoring Platform

About this projet:

ESPD is an innovative online platform bridging the gap between students and qualified teachers in the UK. With a focus on providing accessible and convenient education, ESPD enables students to receive personalized online tuition from experienced teachers. From setting schedules to facilitating payments and online classes, ESPD simplifies the entire tutoring process for both students and teachers.

ESPD - live site

Key Features:

  • Flexible Scheduling: Teachers can set their availability on an hourly basis, allowing students to book classes at their convenience.
  • Group Tuition: Students can form groups of up to 10 members, significantly reducing the cost per hour and enhancing collaborative learning.
  • Seamless Payments: Integration with Stripe enables hassle-free payment processing on a per-hour basis.
  • Interactive Classes: Through Google Meet integration, students can join scheduled classes directly from the platform, ensuring a smooth learning experience.
  • Admin Panel: ESPD administrators have access to a dedicated panel for managing user requests, resolving issues, and facilitating communication between students and teachers.

Technologies Used:

  • Frontend: Next.js 13, TypeScript, React-Query, React-Hook-Form, Custom CSS, Bootstrap
  • Backend: Nest.js, Prisma, PostgreSQL
  • Admin Panel: React.js, Ant Design, Redux, React Query
  • Version Control: Git, GitHub

My Contributions:

As a junior full-stack developer, I played a pivotal role in integrating backend APIs with the frontend, developing key features such as search and filtering, pagination, favorites, booking, FAQ, and "Find me a tutor." I also contributed to backend API development using Nest.js, Prisma, and PostgreSQL. Despite facing initial challenges and errors typical of a first industry-level project, I persevered with the support of my team, learning valuable debugging techniques and expanding my knowledge of frontend and backend technologies.

Challenges:

My journey with ESPD was marked by a steep learning curve and numerous challenges. From debugging errors to grappling with complex frontend concepts like nested mapping and React hooks, each obstacle served as a learning opportunity. Delving into SQL databases and navigating the intricacies of Nest.js broadened my understanding of backend development. Client meetings provided insight into project management and communication, enriching my overall experience as a developer.

Conclusion:

ESPD represents more than just a project; it embodies my growth as a developer. Despite the hurdles, the journey has been immensely rewarding. Collaborating with teammates, tackling new concepts daily, and witnessing the tangible impact of our work on students' education have been invaluable experiences. As I continue my journey, I look back on ESPD with pride, grateful for the lessons learned and the skills honed along the way.