Overview
The ScheduleDB project enables an administrator to login and manage the TSSG meeting schedules for all of the TSSG Teams. The implementation uses micro-services and docker-compose to launch various services that work together to form the front end user experience (UX).
Implementation
ScheduleDB is designed using the following technologies:
- micro-services
running within docker containers
and orchestrated using docker-compose.- nginx
- Reverse proxy
- Implements encryption using LetsEncrypt SSL/TLS
- Listens on port 81 to redirect requests to the appropriate service name
- mongo
- A mongodb database that store the
- Only accessible within the scheduledb_default docker network.
- backend
- In dev, backend is accessed at backend.sdb.technologynursery.org
- The backend is a Node.js API service that accesses the mongo database.
- Only accessible within the scheduledb_default docker network.
- frontend
- In dev, frontend is accessed at frontend.sdb.technologynursery.org
- In production, frontend will be accessed at frontend.tssg.technologynursery.org
- An Angular UI for performing CRUD on the database entries
- Served using Node.js
- Only accessible within the scheduledb_default docker network.
- website
- In dev, website is accessed at website.sdb.technologynursery.org
- In production, website is the tssg.tech website
- Implemented using bootstrap,
- within a node.js service.
- Only accessible within the scheduledb_default docker network.
- mongo-express
- A debugging tool for investigating mongodb database objects. This is only implemented on local deployments.
- Only accessible within the scheduledb_default docker network.
- nginx
- Angular
- BootStrap
- Node.js
- LetsEncrypt
- Docker
- docker-compose
- MongoDB
Host Requirement
The tests should work against these test environments:
- Local Linux
IntelliJ Configuration: chromeLocalTest - Local Docker Toolbox
is accessible within the sdb domain through /etc/hosts file
IntelliJ Configuration: chromeLocalTest - Local Docker Desktop
is accessible within the sdb domain through /etc/hosts file
IntelliJ Configuration: chromeLocalTest - Local Mac
is accessible within the sdb domain through /etc/hosts file
IntelliJ Configuration: chromeLocalTest - Hosted Dev
is accessible within the sdb.technologynursery.org subdomain
IntelliJ Configuration: chromeTest - Hosted QA/Staging
To Do: will be accessible within the staging.technolgoynursery.org subdomain
IntelliJ Configuration: chromeTest - Hosted production
To Do: will be accessible within the tssg.tech domain
IntelliJ Configuration: chromeTest