Sprint #1 - Daily Scrum #03
Product: CMS API
Sprint Summary
Daily Objectives
Notes
Work To Do:
- I can post the Daily Scrums at the end of the sprint, just make sure I document everything
- Have the Front Page Wireframe at least done
Ok time to stop with the UI/UX Design and start with the actual software architecture designing The wire frame is enough to communicate what the basic functions and resources the site will need/require.
So NOW I can FINALLY start talking about the project architecture. I can split up the project into roughly three different parts.
- The BackEnd and ORM
- The Admin Interface
- The API Endpoints
The project’s going to be built on node and express.js. So I think before I finalize any decisions I should at least poke around and get a better understanding of the stack. Key things to note will be how attaching a database will work out, if I need to use standard plugins and what not. Another would be thinking about how to create and process endpoints with the AI. The API needs to be able to send messages formatted for different ‘response types’ like REST and GraphQL. The last part is basically how you’d make a traditionally web application with an interface.
I also want to make sure I know how to set up and create project configurations, settings and setup.
https://expressjs.com/en/guide/database-integration.html is what I want to reference for supporting different database intergrations.
https://medium.com/netscape/a-guide-to-create-a-nodejs-command-line-package-c2166ad0452e check this out later too
Currently trying to look through Strapi to see if I can get an idea of how they implemented the database plugin system.
OH, so Strapi utilizes Bookshelf.js, which is an ORM that’s compatible with PostgreSQL, MySQL, and SQLite3. So it’s Bookshelf.js which handles the abstraction between the actual Strapi project and the backend. Very cool very cool. I still need to decide whether or not I want to make my own ORM or just use Bookshelf.js then. Sidenote: Bookshelf is built upon Knew with a SQL query builder, which might have some significance but I’m not sure :)
Ok cool so I guess we can assume we’ve ‘abstracted’ away whatever database technology the project will be using. And assume some sort of similar database interface as presented in the Bookshelf.js node module. Basically the standard ‘Models’ and ‘Relationships’ design.
What’s the next design question I need to look into? The admin panel is basically just a ‘full-stack’ project using Bookshelf as the ORM to interact with the backend. So maybe now I should research how a proper API should be built with standard practices responses and supporting different forms.
Objectives Completed
-
completed an AdobeXD wireframe of the side navigation and header
-
decided on using Bookshelf.js for the project ORM
Thoughts/Questions to Come Back To
- Difference between authenticating users for the admin panel and authenticating requests for the API
Plans for Tomorrow
- Research how a proper API should be built with standard practices responses and supporting different forms.