Skip to content

carlosmoliv/language-boost-api

Repository files navigation

Language Boost API (under construction)

💡 About the project

An API for a language learning platform that I'm developing from scratch for study purposes.

My approach involves applying TDD, Clean Architecture, Clean Code, Design Patterns, and SOLID principles. I'm adhering to the Classic School of TDD (also known as Detroit/Chicago), focusing on testing behavior rather than implementation details. This project aims to enhance my understanding of best practices in software development.

Regarding the test strategy, influenced by the Classical School and drawing insights from Vladimir Korikov's book, I'll opt for targeted mocking. This means I'll only mock when necessary, specifically in situations involving unmanaged out-of-process dependencies like SMTP and Payment gateways.

Functionalities roadmap:

  • Authentication
    • Login
    • Student Registration (Three steps Onboarding)
    • Tutor Registration
  • Email verification
  • Student Profile
  • Tutor Profile
  • Lesson Scheduling
  • Payment features

Nice to have in the future:

  • Add live video and real-time chat capabilities, instead of just sharing external links like Zoom or Google Meet.
  • Signin/Signup using other methods such as Apple, Google, Facebook

🎯 Requirements

Check back later for updates.

:shipit: Contributing

If you would like to contribute to the project, please follow these steps:

  • Fork the repository.
  • Create a new branch for your changes.
  • Make your changes and commit them to your branch.
  • Push your branch to your forked repository.
  • Open a pull request against the main branch of the original repository.

License

MIT

About

This project aims to explore Clean Architecture, TDD, and best practices for developing APIs using Node.js with TypeScript and Express.js.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published