Table of Contents |
---|
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: chromeLocalTest - Local Docker Toolbox
IntelliJ: chromeLocalTest - Hosted Dev Environment on sdb.technonologynursery.org
IntelliJ: chromeTest - Hosted QA/Staging environment on staging.technologynursery.org
IntelliJ: chromeTest - Hosted production environment on tssg.tech
IntelliJ: chromeTest