bounswe / bounswe2022group2

17 stars 8 forks source link

Practice App: Identify Base API Features and Create a Do-Do List #146

Closed bahricanyesil closed 2 years ago

bahricanyesil commented 2 years ago

Issue Description

We had a conversation about the things to be done for the practice app in our weekly meeting #8. In the meeting, we decided to read the description personally, research the related topics mentioned and determine the tasks we should do later on. I personally read the practice app assignment description and created some items for the team.

Step Details

Determine the detailed tasks of the following titles:

Final Actions

We can finalize this to-do list after the reviews, additions/updates/removals. You can write your ideas as comments. We will be benefiting from this to-do list while we are determining and choosing our next tasks in the upcoming days/weeks.

Deadline of the Issue

25.04.2022 - 23:59

Reviewer

Ezgi Aysel Batı

Deadline for the Review

26.04.2022 - 23:59

bahricanyesil commented 2 years ago

Info

I created a list of tasks that we can consider and deal with in the upcoming days. You can write your comments and suggestions for additions/removals/updates on the items as comments.

  1. API Research - General (what it is, why there is)
  2. Find an API that we can use in our system, example topics that we can benefit from:
    • Weather forecast (Events)
    • Motivational and inspiration quotes (to motivate learners)
    • Class - online meeting management(Google Classroom API)
    • Other possible helpful integrations
  3. Learn Django/Node.js
  4. Research on Docker
  5. Determine the API features
    • Lessons (Title, description, etc.)
      • Filtering lessons with some query parameters on GET requests
      • Creating lessons
      • Updating lessons (not urgent, optional)
      • Searching for a lesson by name
    • Chapters (Sections of the lessons, should contain title, content, and so on)
      • Creating chapters under a specific lesson
      • Updating a chapter of a lesson (not urgent, optional)
      • Getting complete chapters of a lesson
    • Topics/Categories of lessons (like sport, math and so on)
      • Getting complete list of categories
      • Getting complete list of lessons which are part of a specific category
      • Searching for a category by name
      • Creating a category
      • Updating a category (not urgent, optional)
  6. We will write unit tests for each part that is developed
  7. We will create a separate branch and pull requests for each MAIN section we have done
  8. We will request code review and we will be reviewing the others
  9. We will develop a front-end so we should learn a language/framework to develop this part also (can be decided after developing the API)
  10. Research on POSTMAN
  11. Use Postman to test our API, create auto-documentation via Postman by benefiting from collections
  12. Dockerize the app and test that each member is able to deploy it on their personal development environment.
  13. Research on AWS EC2 instance
  14. Deploy your application to your server (AWS EC2) using the docker image.
  15. Perform user acceptance tests
  16. Update the GitHub wiki page to document the application URL. Update the readme file, create a specific wiki page for the practice app, add related links and sections to the home wiki, sidebar, and so on (simply all related things with GitHub Repo)
  17. Update your GitHub wiki page with a description of the API and the functionality 
you introduced.
  18. Research on MongoDB, other database management systems
  19. Determine the DBMS we will be using.
bahricanyesil commented 2 years ago

Info

I determined the base API features that we can include in the API we will develop in addition to the general task list.

Both of them are shared in the above comment and ready for review by whole team members and specifically by @ezgy.

bahricanyesil commented 2 years ago

Info

I added database management system-related tasks since we will need it in the implementation step.

bahricanyesil commented 2 years ago

We went over all of the results mentioned in this issue in our weekly meeting 9. We reviewed them, we extracted tasks from them after a discussion within the team.

Therefore, I am closing the issue. You can see the discussion details and action items in the weekly meeting I gave the link above.