LearnSphere is an educational platform designed to provide comprehensive learning materials and interactive lectures on a wide range of topics. With an easy-to-navigate interface and a variety of courses, LearnSphere aims to make learning accessible and engaging for everyone.
To ensure scalability, maintainability, and efficiency, LearnSphere has been architectured as a distributed system comprised of multiple microservices. These microservices, namely the authentication service, post service, and profile service, handle specific functionalities of the platform, enabling better organization, flexibility, and resilience.
Responsible for managing user authentication and authorization, ensuring secure access to LearnSphere's features and resources.
Handles the creation, retrieval, and management of educational content such as articles, tutorials, and discussions, facilitating seamless content delivery to users.
Manages user profiles, preferences, and interactions within the platform, providing personalized experiences and fostering community engagement.
The communication between the frontend and these microservices is orchestrated through an API Gateway. This gateway serves as a single entry point for client requests, abstracting the complexity of the underlying microservices architecture and providing a unified interface for frontend developers. Through this architecture, LearnSphere ensures modularity, scalability, and maintainability while delivering a cohesive user experience.
Ensure you have the following installed on your system:
- Node.js (v14 or newer)
- npm (v6 or newer)
- Clone the repository to your local machine.
- Clone the auth-service repository to your local machine.
- Clone the post-service repository to your local machine.
- Clone the profile-service repository to your local machine.
- Navigate to the project directories
- Open a terminal in all four directories
- Install the dependencies in all four directories: npm install
- Each services needs a .env file with your MY_SECRET, private_key_id, and private_key. Note the .env file should be created in each service directory root folder with 3 .env files total.
To run LearnSphere on your local machine, execute: npm start in each of the four directories This will start the development server for the front end and each of the services.
To open the program within your browser, enter 'o' + 'Enter' into the terminal. To close the program, enter 'q' + 'Enter' into the terminal.
- Interactive lectures on various subjects
- Quizzes to test your knowledge
- Progress tracking for each courser
- User profiles and customization options
We welcome contributions to LearnSphere! If you're interested in helping, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.



