Skip to content

Meeting #9 (01.05.2022)

Bahrican Yesil edited this page May 5, 2022 · 6 revisions

Meeting #9

Details

📅 Date: 01/05/2022

📍 Location: Discord

🕐 Duration: 21:10 - 23:15

📝 Note Taker: Bahrican Yesil

👥 Attendees: (7/9)

  • Altay Acar
  • Bahrican Yeşil
  • Ecenur Sezer
  • Egemen Atik
  • Ezgi Aysel Batı
  • Hasan Can Erol
  • Mehmet Batuhan Çelik
  • Muhammed Enes Sürmeli
  • Onur Kömürcü

Agenda

  1. Determining the technologies (frameworks/languages/tools) to be used while developing the practice app
  2. Reviewing the tasks prepared by Bahrican in the corresponding issue
  3. Determining the features of the practice app
  4. Determining the research topics for this week
  5. Determining the APIs to be integrated into the practice app

Discussion

1. We look at the public APIs and determined the ones that we may use in our practice app. Afterward, we reviewed all of the candidates and selected 2 of them to integrate into our system. We tried to choose the ones that are related to the features of our main project (Online Learning Platform). The Initial Candidates:

  • Dictionary
  • Quote
  • Weather Forecast
  • Avatar
  • Zoom API
  • Social Login
  • GeoLocation

Finally Selected Ones:

  1. Weather Forecast --> We thought that we can use weather forecasts in the events of lessons. While displaying the event details, with the help of the location we took, we can show the weather conditions and forecasts for the determined location. We can give some weather condition details like temperature, wind, cloudiness and so on. (Get Event Details Endpoint)
  2. GeoLocation --> We thought that we can integrate geolocation API into our system while creating a lesson. Event creators have to provide a location for the event place. We can provide a more organized and easy-to-use flow while determining this location. 2 things came into our mind: firstly we can automatically determine the location of a user by using his/her IP by permission of him/her, secondly we can enable users to choose a coordinate in the map. So that, we will find the city/country and other needed details afterward with the help of the package. (Create an Event Endpoint)

2. We discussed the possible features that can be implemented in the practice app. We decided that it will be better to have similar features in the practice app with the real project we will work on (online learning platform). Therefore, we tried to extract the most base features. After a discussion about the features, we also pointed out the corresponding endpoints that should be developed. Followings are the endpoints to be included in our practice-app API:

ENDPOINTS & FUNCTION DEFINITONS

Function Definition HTTP Method
Signup POST
Login POST
Create a Lecture POST
Rate a Lecture POST
Enroll in a Lecture POST
Drop a Lecture POST
Search Lecture by Name GET
Filter Lecture by Category GET
Filter Lecture by Lecturer GET
Filter Lecture by Rating GET
Create a Category POST
Get All Categories GET
Get Category by Name GET
Create an Event POST
Get Lecture Events GET
Get Attended Events GET
Attend an Event POST
Get Event Details GET

3. Testing & Documentation

  • Each person will write the unit tests of the endpoints s/he will develop.
  • Each person will test the endpoints s/he developed with Postman.
  • Each person will save the requests in Postman while testing, so that we will have an auto-documented documentation.
  • Each person will write a manual documentation about the endpoints s/he developed to add to the corresponding wiki page.

4. Docker & AWS We decided to focus on these parts in the next weeks after the built of base structure of the project.

5. Branch Name Convention We decided to have a common branch name convention among the team. We discussed possible conventions we may follow and finally we decided to use the following one:

practice-app/(type)/(topic detail)-#(issue number)

Examples:

practice-app/feature/login-#41

practice-app/bug/login-credential-error-#43

Additionally, we decided the obey the following rules:

  1. We will create a corresponding issue for each branch we will create.
  2. Branch name should include the issue number it is related to.
  3. 2 reviewers will be assigned while creating a pull request.
  4. Approval of 1 reviewer will be waited before merging a branch to master.

6. Front-End We decided the following regarding to front-end part of the app:

  • There will be a screen or a component corresponding to each endpoint.
  • More than one person can work on the same screen/component due to a crossover. For example: even though there are multiple endpoints related to events, events will have very few components.
  • We decided that each person will be responsible for the front-end part of the API s/he developed. The reason for this decision is the fact that it will both speed up us (we really need it) and it makes more sense to complete all parts of a work in terms of integrity and unity.

7. Theme Colors

  • Primary Color: 0xffFF2E57
  • Secondary Color: 0xff60D9E6
  • Background Color: 0xff0d0d0d
  • Text Color: 0xfff5f5f5

8. Technologies

  • Everyone will use his/her own IDE and configure it according to his/her own preferences.
  • Each person shouldn't forget to add the related gitignore files specific to the IDE s/he uses.
  • We will use Postman for testing.
  • We will use Node.js and Express.js while developing the back-end. Those who do have not had any previous experience will watch a Node.js course.
  • We will use Vue.js while developing the front-end.
  • We will use MongoDB as the database management system. Everyone will install and set up the MongoDB on his/her local machine.

9. User Acceptance Test We will look at the details and what should we do regarding user acceptance test later on.

10. Wiki Pages We will create/update the wiki pages of the practice app later on.

Action Items

Action items are listed in the order they were discussed during the meeting.

# Details Assignee(s) Due Date Issue
1 Document the meeting notes on the wiki Bahrican Yesil 06.05.2022 Friday @ 23:59 #148
2 Setup the base project for the back-end part and create the connection with a MongoDB database. Bahrican Yesil 06.05.2022 Friday @ 23:59 #149
3 Create the user model Bahrican Yesil 06.05.2022 Friday @ 23:59 #150
4 Implement the signup endpoint Bahrican Yesil 08.05.2022 Sunday @ 23:59 #151
5 Write all unit tests related to the signup endpoint Bahrican Yesil 08.05.2022 Friday @ 23:59 #152
6 Implement the login endpoint Onur Kömürcü 08.05.2022 Sunday @ 23:59
7 Write all unit tests related to the login endpoint Onur Kömürcü 08.05.2022 Friday @ 23:59
8 Implement the create lecture endpoint Ezgi Aysel Batı 08.05.2022 Sunday @ 23:59
9 Write all unit tests related to the create lecture endpoint Ezgi Aysel Batı 08.05.2022 Friday @ 23:59
10 Implement the search lecture by name endpoint Onur Kömürcü 08.05.2022 Sunday @ 23:59
11 Write all unit tests related to the search lecture by name endpoint Onur Kömürcü 08.05.2022 Friday @ 23:59
12 Implement the filter lecture by category endpoint Bahrican Yesil 08.05.2022 Sunday @ 23:59
13 Write all unit tests related to the filter lecture by category endpoint Bahrican Yesil 08.05.2022 Friday @ 23:59
14 Implement the filter lecture by lecturer endpoint Ezgi Aysel Batı 08.05.2022 Sunday @ 23:59
15 Write all unit tests related to the filter lecture by lecturer endpoint Ezgi Aysel Batı 08.05.2022 Friday @ 23:59
16 Implement the rate a lecture endpoint Ecenur Sezer 08.05.2022 Sunday @ 23:59
17 Write all unit tests related to the rate a lecture endpoint Ecenur Sezer 08.05.2022 Friday @ 23:59
18 Implement the filter lectures by rating endpoint Ecenur Sezer 08.05.2022 Sunday @ 23:59
19 Write all unit tests related to the filter lectures by rating endpoint Ecenur Sezer 08.05.2022 Friday @ 23:59
20 Implement the enroll in lesson endpoint Hasan Can Erol 08.05.2022 Sunday @ 23:59
21 Write all unit tests related to the enroll in lesson endpoint Hasan Can Erol 08.05.2022 Friday @ 23:59
22 Implement the drop a lesson endpoint Egemen Atik 08.05.2022 Sunday @ 23:59
23 Write all unit tests related to the drop a lesson endpoint Egemen Atik 08.05.2022 Friday @ 23:59
24 Implement the create category endpoint Mehmet Batuhan Çelik 08.05.2022 Sunday @ 23:59
25 Write all unit tests related to the create category endpoint Mehmet Batuhan Çelik 08.05.2022 Friday @ 23:59
26 Implement the get all categories endpoint Mehmet Batuhan Çelik 08.05.2022 Sunday @ 23:59
27 Write all unit tests related to the get all categories endpoint Mehmet Batuhan Çelik 08.05.2022 Friday @ 23:59
28 Implement the get categories by name endpoint Hasan Can Erol 08.05.2022 Sunday @ 23:59
29 Write all unit tests related to the get categories by name endpoint Hasan Can Erol 08.05.2022 Friday @ 23:59
30 Implement the craete an event endpoint Altay Acar 08.05.2022 Sunday @ 23:59
31 Write all unit tests related to the create an event endpoint Altay Acar 08.05.2022 Friday @ 23:59
32 Implement the get lecture events endpoint Egement Atik 08.05.2022 Sunday @ 23:59
33 Write all unit tests related to the get lecture events endpoint Egemen Atik 08.05.2022 Friday @ 23:59
34 Implement the get attended events endpoint Altay Acar 08.05.2022 Sunday @ 23:59
35 Write all unit tests related to the get attended events endpoint Altay Acar 08.05.2022 Friday @ 23:59
36 Implement the attend to an event endpoint Muhammed Enes Sürmeli 08.05.2022 Sunday @ 23:59
37 Write all unit tests related to the attend to an event endpoint Muhammed Enes Sürmeli 08.05.2022 Friday @ 23:59
38 Implement the get specific event details endpoint Muhammed Enes Sürmeli 08.05.2022 Sunday @ 23:59
39 Write all unit tests related to the get specific event details endpoint Muhammed Enes Sürmeli 08.05.2022 Friday @ 23:59
40 Everyone will be implementing the front-end part of the API that s/he developed. Everyone 13.05.2022 Sunday @ 23:59
41 Integrate the weather condition tracker API Muhammed Enes Sürmeli (Supporters: Bahrican Yeşil, Onur Kömürcü) 08.05.2022 Sunday @ 23:59
42 Integrate the geolocation API Altay Acar (Supporters: Egemen Atik, Hasan Can Erol) 08.05.2022 Friday @ 23:59

👋 Welcome to the Wiki of Group #2

🎓 Group Members

Group Members

✍️ Meeting Notes

Meeting Notes of 451
Mobile Team Meeting Notes
Back-End Team Meeting Notes
Front-End Team Meeting Notes
Meeting Notes of 352

📚 Learnify

📱 Practice App

🛣 Milestones

CMPE451 Milestones
  • Will be added when ready
CMPE352 Milestones

📋 Requirements

🕵 Researches

Git Related

🖼️ Scenarios & Mockups

Scenarios

📈 Diagrams

Diagrams

📑 Templates

Templates
Clone this wiki locally