Skip to content

Agus27111/be-microservice

Repository files navigation

be-microservice

Online Class Platform

Overview

This project is developed as part of a comprehensive course on building a professional online class platform. The platform is designed using a microservices architecture, demonstrating the dynamic nature and flexibility in selecting different programming languages for various services. The primary technologies used in this project include Express (Node.js) and Laravel (PHP).

Features

  • Microservices Architecture: The platform is divided into multiple microservices, each responsible for specific functionalities, ensuring modularity and ease of maintenance.
  • API Gateway: Acts as a single entry point to various microservices, handling request routing, composition, and protocol translation.
  • Dynamic Service Integration: Different services can be developed using different programming languages, showcasing the flexibility of microservices architecture.
  • User Authentication: Secure user registration and login functionality.
  • Course Management: Features for creating, updating, and deleting courses.
  • Enrollment System: Allows students to enroll in courses and manage their enrolled courses.
  • Real-time Notifications: Provides real-time updates and notifications to users.

Technologies Used

Backend

  • Node.js with Express: Used for developing the user service and API Gateway.
  • PHP with Laravel: Used for developing the course management service.

Database

  • MySQL: Used as the primary relational database for storing user and course data.
  • Redis: Used for caching and session management to enhance performance.

Installation and Setup

Prerequisites

  • Docker and Docker Compose installed
  • Node.js and npm installed
  • PHP and Composer installed

Steps

  1. Clone the Repository:

    sh
    Copy code
    git clone https://github.com/yourusername/online-class-platform.git cd online-class-platform
  2. Set Up Environment Variables: Create a .env file in the root directory and add the necessary environment variables for each service.

  3. Build and Start Services: Use Docker Compose to build and start all the services:

    sh
    Copy code
    docker-compose up --build
  4. Run Migrations: Run the database migrations for each service to set up the database schema. For User Service (Express):

    sh
    Copy code
    cd user-service npm run migrate

    For Course Service (Laravel):

    sh
    Copy code
    cd course-service php artisan migrate
  5. Access the Application: Open your web browser and navigate to http://localhost:3000 to access the frontend application.

API Documentation

For detailed API documentation and testing, refer to the Postman Documentation.

Contribution

Contributions are welcome! Please fork the repository and create a pull request with your changes.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgements

Special thanks to the course instructors and the community for their guidance and support throughout the development of this project.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published