Sprint #1 - Daily Scrum #08
Product: CMS API
Sprint Summary
Daily Objectives
- Draw the Diagrams
- Data Design
Notes
ahaha oops, technically sprints are supposed to be two weeks right :smiley: ONE AND A HALF WEEK SPRINTS SMILEY
Wrapping Up a Sprint:
- Make sure the website is updated
- Make sure the next sprint is planned
What’s still left to do?
- Data Design
OKAY SINCE I KEEP hecking PAUSING ALL MY heck LET’S MAKE A CALLBACK TO THE SPRINT GOALS
WHAT ARE THE MAJOR SECTIONS FOR THE DESIGN DOCUMENT
- WIREFRAMING AND UI - RESOLVED(MOSTLY)
- SOFTWARE ARCHITECTURE - RESOLVED
- DATA DESIGN - IN PROGRESS
- DESCRIPTION, FUNCTIONS AND PURPOSE - RESOLVED
Finish up the Architecture Discussion:
Undistributed distributed microservice architecture :)
Microservices - Management:
- Roles and User Management
- Site Repo Management
- Content Management
Microservices - Web UI’s:
- Rest API
- GraphQL API
- Admin UI
- Site Hosting
Site Hosting Service:
I want to clear up and clarify some things with the site hosting service. This is essentially hosting up a client’s STATIC site repo along with the project. This will be completely decoupled from the site’s actual content (from the content management ‘microservice’), and be developed by the actual host/developer to a subdomain. So for now we can ignore this since it’s something that can be attached later on? Thinking about it, this doesn’t even have to be a thing that I have to consider/compensate for since its out of scope of my project. Well, the idea is to just make it clear where/how to include a client site to a subdomain. But I’m not sure if there’s ways to route a subdomain to the main domain’s server. Also I don’t need to worry about dynamically adding subdomains since its the role of the actual host/developer to do that. :smiley:
Data Design:
Architecture Concerns First:
- For now we’re going with only one database first, later on we want the option of distributing the databases based on microservices
- Database → Bookshelf.js ORM → Microservice API Resources
So I want to define the resources for API MIcroservice first, then for the Bookshelf ORM, which should then directly translate to the database I think.
Let’s talk about GraphQL first again:
- GraphQL is a ‘schema’ that allows you to query exactly whatever you need
- You define a schema and are able to get exactly what you ask for out of it ?
- “GraphQL is a query language for your API”
- https://graphql.org/graphql-js/running-an-express-graphql-server/
- first: Construct a schema, using GraphQL schema language
- second: Create a root that provides a resolver function for each API endpoint
- So there’s set ‘endpoints’ for the API, and you just make resolver functions
- You can include arguments for these API endpoints
- You can create class objects to represent object types and return instances of those
- You can call class functions if a query returns an object of that type
- https://graphql.org/graphql-js/object-types/
So now what do I need to plan out for GraphQL?
Define the entry points and the functions. BUT, I need a way to allow for querying uh dynamic schemas? If anything, I can make the content type name an argument instead.
Objectives Completed
-
discussed how to host client sites alongside the server
-
discussed what the major sections of the SDD will be and split up the project into microservices
-
started to dicsuss the data design, mostly in regards to GraphQL
Lessons Learned
- hey
Plans for Tomorrow
- hey