Table of Contents
today's interconnected world, the demand for personalized education is at an all-time high. Learners seek tailored experiences to fit their unique needs and schedules, while educators want flexible platforms to reach more students and offer impactful, individualized instruction. Our project addresses this by creating an innovative platform, similar to Preply, that connects students and teachers for one-on-one educational experiences.
Utilizing advanced technology, our platform ensures seamless interactions through a user-friendly interface, robust search functions, and secure communication tools. This allows learners to find the ideal teacher for their needs and helps teachers access a wider student base.
Our goal is to make personalized education accessible and effective, whether for mastering languages, excelling in academics, or acquiring new skills. Join us in transforming education, fostering connections that drive growth and success.
Explore our comprehensive vision for the future of our product:
Our mission centers on democratizing education. They strive to leverage cutting-edge technology to make educational opportunities affordable and accessible for a global audience. This focus on affordability and technological innovation allows them to empower individuals worldwide to achieve their language learning goals.
Review our strategic business model and how we create value:
This User Interface enhances clarity and usability, ensuring an intuitive experience for users of this project.
This section lists major frameworks and libraries used in the Learnwithkru project:
The Learnwithkru project follows a monorepo structure. Here’s a brief overview:
learnwithkru-monorepo/
├── application/
│ └── frontend/
├── packages/
│ ├── api-gateway/
│ ├── auth/
│ ├── notification/
│ ├── student/
│ ├── teacher/
│ ├── user/
│ └── volomes/
├── libs/
│ ├── shared-libs/
│ └── config-libs/
├── docs/
├── node_modules
├── package.json
├── docker-compose.yaml
└── README.md
Each package has its own set of dependencies and configuration files, allowing for modular development.
Follow these steps to set up this project locally using Docker.
Ensure you have the following software installed before proceeding:
- Clone the project:
Open your terminal and run the following command to clone the project repository:
git clone https://github.com/Vath-Song99/learnwithkru-monorepo.git
- Navigate to the
Learnwithkru-monorepo
folder:
Open your terminal and change the directory to the Learnwithkru-monorepo folder. Replace path/to with the actual path to the project directory on your machine.
cd path/to/learnwithkru-monorepo
- Build the Docker images: Use the following command to build the Docker images. This will set up the necessary environment for your project.
yarn build:docker
- To run the Docker containers: Use the following command to build and start the Docker containers. This will set up the necessary environment for your project.
yarn start:docker
- To run the Application (Front-end):
yarn start:app
After completing these steps, your project will be successfully set up locally!
- Restart Docker
yarn restart:docker
- Stop Docker
yarn stop:docker
- Remove Docker Containers
yarn remove:containers
After run the follow command above you make request to the Application of Learnwithkru plateform:
http:localhost:8000
If you prefer to test the API Docs you can do by make the request to the endpoint below:
http://localhost:service-port/swagger
http://localhost:3001/swagger
- Authentication Service: Securely authenticate users accessing the system.
- Teacher Service: Manage data and actions related to teachers.
- Student Service: Handle student-related functionalities.
- User Service: Manage user accounts and basic user-related functionalities.
- Notification Service: Handle notifications and communication within the system.
Each service is designed to be modular, scalable, and easy to integrate with other components of the system.
- Secure user authentication mechanisms.
- Multi-factor authentication (MFA) support.
- Session management for maintaining authentication state.
- Profile management for teachers.
- Listing profile functionalities.
- feedback tools.
- Joining management for students.
- Progress tracking features.
- Account creation and management.
- Integration with the authentication service.
- Role-based access control.
- Push and email notifications.
- Customizable notification templates.
- Microservices Architecture: Each service is implemented as an independent microservice.
- API Gateway: Handles routing requests and cross-cutting concerns like authentication.
- Containerization: Services are containerized using Docker.
- Logging and Monitoring: Centralized logging and monitoring solutions are implemented.
- Security: Security best practices are followed, including encryption and regular security audits.
For detailed instructions on setting up and using each service, please refer to their respective README files.
@Vath-Song99 @nareth347 @seaporhai @thon1525
Learnwithkru - (https://www.facebook.com/profile.php?id=100092631759554) - learnwithkru287@gmail.com
Project Link: Learnwithkru-monorepo