Personal portfolio site for the second half of 2020.
Technologies planned for project:
- Caddy Server
- CircleCI
- Custom Authentication
- Docker Machine
- Golang
- GraphQL (gqlgen)
- MongoDB
- ReactJS
- Redis
- WebAssembly (?)
- Dockerize local environment (ongoing)
- Create draft of architecture (done)
- Begin building API
- Design toward implementation of
Apollo Server
andApollo Client
. (on track) - Provide single source of truth for models.
- Will be migrating to use of HashiCorp Vault.
- Define Redis and MongoDB secrets as environment variables.
- These will be managed by Vault, see above.
- Create initialization for unique email fields requirement.
- gRPC "user" microservice will manage this.
- Successfully create and persist the following accounts:
- Global super user to replace "root" in MongoDB.
- Database owners, each dedicated to a given microservice.
- Design toward implementation of
- Implement
docker/mongo
anddocker/redis
- Implement MongoDB with Authentication
- Wrote custom shell scripts for initializing database.
- Implemented string interpolation of environment variables to keep secrets secure.
- Researched and feasibility tested
heredoc
and escaped line break options for more readable JavaScript (all failed).
- Implement Redis securely (done)
- Fixed broken config support in
docker-compose
usingchown
and theredis
user inside the image. - Disable THP support inside the container.
- Removed unnecessary volume "persist_redis_backups" (should be /data).
- Fixed broken config support in
- Make sure both data stores are persisted (done)
- Implement MongoDB with Authentication
- API
- Define User schema. (done)
- Generate User model and resolvers. (done)
- Populate resolvers with logic. (in progress)