Skip to content

Y3S2-Semester/ds-assignment-be

Repository files navigation

E-academy

Ports

Service Port
API Gateway 8765
User Service 8000
Course Service 8100
Notification Service 7000
Enrollment Service 8300
Content Service 8400

File Structure

API Gateway User Service Course Service Notification Service Enrollment Service Content Service


Preqrequisites

  • Node.js (v16 or higher).
  • pnpm (v6 or higher).
  • Email functionality is provided through Gmail and as such will need a pair of credentials to authenticate with it. This can be as simple as using a App Password.
  • A MongoDB and a Redis data source.
  • A Stripe account with its API keys.

Commands

  • pnpm install - Installs all dependencies for all packages/apps
  • pnpm build - Builds all packages/apps using Esbuild. This must be executed before trying to run any of the apps.
  • pnpm dev - Runs a development server for all apps.
  • pnpm test - Runs the test suites for all apps.

Deployment

Deployment is handled automatically by GitHub Actions when a commit is pushed to the master branch. The services are containerized and push to the Dockerhub as Docker images. These images are then pulled by an ArgoCD instance running on a Kubernetes cluster and deployed to the cluster. All of the kubernetes manifest required for this process can be found at the following repository. The process of updating these manifests has been automated. The Kubernetes cluster can be on any cloud provider, but this project uses a local one bootstrapped through Docker Desktop.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published