Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TECH ED] E-Commerce API #21

Open
sairaheta1 opened this issue Jul 17, 2024 · 0 comments
Open

[TECH ED] E-Commerce API #21

sairaheta1 opened this issue Jul 17, 2024 · 0 comments
Labels
📅 Databases Work assigned during DB module 🔑 Priority Key Do this first 🏕 Priority Mandatory This work is expected 🐋 Size X-Large 8-16 hours 🎯 Topic Iteration Prototyping, testing, analysing, and refining in a cycle of development 🎯 Topic Testing It's important that software works and that people can use it 🎯 Topic Time Management Managing competing needs and meeting deadlines 📅 Week 4 Assigned during Week 4 of this module

Comments

@sairaheta1
Copy link
Member

Link to the coursework

https://github.com/CodeYourFuture/Module-Databases/tree/main/E-Commerce-API

Why are we doing this?

Now you understand your database, how will this change how you design your API?

You should write this app in TDD style. This project will help you understand how to do this. The user stories are re-expressed as acceptance criteria, and then the acceptance criteria is re-expressed as tests. Look in the /tests folder to see the example.

When you go to Final Projects, you will save yourself a lot of time by writing your API in this way. You will also find it much easier to share the work, as each acceptance criteria could be met by a different team member, using the feature branch workflow.

Quality check!

In this project, you must write the test first.

It's better to turn in a smaller set of user stories than to turn in untested features.

If you're running out of time, scope down your application rather than commit untested code. Cut your scope, not your quality. Include a list of the stories you did, and didn't, get to in your PR message.

Maximum time in hours

10

How to get help

Share your blockers in your class channel. Use the opportunity to refine your skill in Asking Questions like a developer.

If you're struggling with the feature branch workflow, you won't be alone. There are workshops available -- do one together in class.

How to submit

  1. Fork to your Github account.
  2. Make a new branch named E-Commerce-API
  3. For each user story, make a feature branch like this feature/1-list-all-products
  4. Complete your user story, make sure the test is passing, then merge into your E-Commerce-API branch
  5. When you are ready, open a PR to the CYF repo, following the instructions in the PR template.
gitGraph
    commit id: "e-commerce-api"
    branch e-commerce-api
    branch feature/1-list-all-products
    commit id: "assert api should return list"
    commit id: "make api return list"
    checkout e-commerce-api
    merge feature/1-list-all-products
    branch feature/2-filter-product-list
    commit id: "assert api should filter list"
    commit id: "make api filter list"
    commit id: "check query works"
    checkout e-commerce-api
    merge feature/2-filter-product-list
Loading

How to review

For someone else to check out your code, they will need your .env file. Use https://onetimesecret.com/ to share this.

Anything else?

https://blog.gitguardian.com/secrets-api-management/
https://www.youtube.com/watch?v=JUpKDkb4Zhc

@sairaheta1 sairaheta1 added 🎯 Topic Iteration Prototyping, testing, analysing, and refining in a cycle of development 🎯 Topic Testing It's important that software works and that people can use it 🎯 Topic Time Management Managing competing needs and meeting deadlines 🏕 Priority Mandatory This work is expected 🐋 Size X-Large 8-16 hours 📅 Databases Work assigned during DB module 📅 Week 4 Assigned during Week 4 of this module 🔑 Priority Key Do this first labels Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📅 Databases Work assigned during DB module 🔑 Priority Key Do this first 🏕 Priority Mandatory This work is expected 🐋 Size X-Large 8-16 hours 🎯 Topic Iteration Prototyping, testing, analysing, and refining in a cycle of development 🎯 Topic Testing It's important that software works and that people can use it 🎯 Topic Time Management Managing competing needs and meeting deadlines 📅 Week 4 Assigned during Week 4 of this module
Projects
Status: 📋 Backlog
Development

No branches or pull requests

1 participant