Milestone 1 Report - bounswe/bounswe2018group7 GitHub Wiki
As a group, we are following our milestones strictly and suiting to the timetable successfully.
- Our first milestone was re-analyzing requirements and the project plan according to the feedback from our customer. It was due to 16.10.2018 and implemented successfully.
- The next one was initializing the projects and implementing some user authorization functions. It has been completed successfully.
- The latest one is the customer milestone. In this milestone we need to implement basic memory post to present in the lecture.
Deliverable | Backend Status | Frontend Status | Android Status |
---|---|---|---|
Requirements v2 | Not Applicable, But Completed | Not Applicable, But Completed | Not Applicable, But Completed |
Project Plan v2 | Not Applicable, But Completed | Not Applicable, But Completed | Not Applicable, But Completed |
Signup Functionality | Completed | Completed | Completed |
Signin Functionality | Completed | Completed | Completed |
Signout Functionality | Completed | Completed | Completed |
Email Confirmation Functionality | Completed | In Progress | Completed |
Password Reset Functionality | Completed | In Progress | Completed |
Basic Memory Post | Completed | In Progress | In Progress |
Member | Subteam | Work Done |
---|---|---|
Serdar Ada | Android | Sign-in, Sign-out, Memory Post Listing Design |
Ramazan Arslan | Frontend | Sign-in, Memory Post Listing on Homepage, Annotation to Image |
Cemal Burak Aygün | Backend |
|
Faik Emre Derin | Android | Android Homepage Design |
Dilruba Reyyan Kılıç | Android | Sign-Up, Create Memory Post Design |
Enes Koşar | Backend |
|
Muhammed Fatih Balın | Backend |
|
Bekir Burak Aslan | Frontend | Sing-up, Memory Post Listing on Homepage, Maps |
-
1.1.1 Sign-Out
- 1.1.1.1 Users shall be able to sign out from the system.
-
1.1.2 Profile
-
1.1.2.1 Users shall be able to view the followings on the profile of other members.
- Real name
- Username
- Profile picture
- Created memory-posts
-
1.1.2.2 Users shall be able to view the followings on their own profile:
- All account information except password
- Created memory-posts
- Liked memory-posts
-
1.1.2.3 Users shall be able to update the followings on their profile.
- Username
- Real name
- Profile picture
- Email address
- Password
- 1.1.2.4 Users shall be able to delete their account on their profile.
-
1.1.2.1 Users shall be able to view the followings on the profile of other members.
-
1.1.3 Memory-Post
- 1.1.3.1 Users shall be able to view any memory-posts.
- 1.1.3.2 Users shall be able to create memory-posts.
- 1.1.3.3 Users shall be able to update all the memory-items of their memory-posts.
- 1.1.3.4 Users shall be able to delete their memory-posts.
- 1.1.3.5 Users shall be able to like or dislike any memory-posts.
-
1.1.4 Comment
- 1.1.4.1 Users shall be able to add comments to the comment section of any memory-posts.
- 1.1.4.2 Users shall be able to delete their comments.
-
1.1.5 Annotation
- 1.1.5.1 Users shall be able to view any annotations.
-
1.1.5.2 Users shall be able to create annotations for the rectangular parts of the following items: (For text, "rectangular part" means the selection of some consecutive words)
- Memory-Title
- Memory-Story
- Memory-Media (images only)
- Comments
- 1.1.5.3 Users shall be able to update their annotations.
- 1.1.5.4 Users shall be able to delete their annotations.
-
1.1.6 Search
-
1.1.6.1 Users shall be able to search for any combinations of the following items of memory-posts via search bar:
- Memory-Title
- Memory-Story
- Memory-Time
- Memory-Location
- Memory-Tag
- 1.1.6.2 Users shall be able to search for annotations via search bar.
- 1.1.6.3 Users shall be able to search for memory-posts on main-map.
-
1.1.6.4 Users shall be able to search for any combinations of the following items of accounts via search bar:
- Username
- Real name
-
1.1.6.1 Users shall be able to search for any combinations of the following items of memory-posts via search bar:
- 1.2.1 Admins shall have all the abilities users have.
- 1.2.2 Admins shall be able to ban any accounts in the system.
-
1.2.3 Admins shall be able to delete any of the followings from the system:
- Accounts
- Memory-Posts
- Annotations
- Comments
-
1.3.1 Sign-In
-
1.3.1.1 Guests shall be able to sign in (if they have an account) with one of the following combinations:
- Username and password.
- Email address and password.
-
1.3.1.1 Guests shall be able to sign in (if they have an account) with one of the following combinations:
-
1.3.2 Sign-Up
- 1.3.2.1 Guests shall be able to sign up to the system by providing username, email, password (with confirmation) and real name (optional).
-
1.3.3 Memory-Post
- 1.3.3.1 Guests shall be able to view only 10 most recently created memory-posts.
- 1.3.3.2 Guests shall be able to view all parts of a memory-post.
-
1.3.4 Annotation
- 1.3.4.1 Guests shall be able to view all the annotations of a memory-post.
-
1.4.1 Sign-Up
- 1.4.1.1 The system shall require email confirmation on signup.
-
1.4.2 Password
- 1.4.2.1 The system shall provide users with a password recovery mechanism.
-
1.4.3 Recommendation
- 1.4.3.1 The system shall recommend memory-posts to users.
- 2.1.1 The language of the system shall be English.
-
2.2.1 The system shall have a web application.
- 2.2.1.1 3 most recent main versions of Google Chrome shall be supported.
-
2.2.2 The system shall have an Android application.
- 2.2.2.1 3 most recent main versions of Android shall be supported.
- 2.3.1 Passwords shall be kept encrypted in the database.
- 2.3.2 Members' email addresses should be hidden to other members.
- 2.4.1 The annotations shall be compliant with The W3C Web Annotation Data Model.
- 2.5.1 Google Maps services shall be used for main-map and memory-maps.
Android Team: Dilruba Reyyan, Serdar, Faik Emre
Backend Team: Cemal Burak, Muhammed Fatih, Enes
Frontend Team: Ramazan, Bekir Burak
Task | Start | Due | Assigned |
---|---|---|---|
Requirements Review | 25.09.2018 | 16.10.2018 | Everyone |
Project Plan Review | 25.09.2018 | 16.10.2018 | Everyone |
Milestone 1: Requirements v2 & Project Plan v2 | 16.10.2018 | 16.10.2018 | Everyone |
Initialization of the projects Signup, Signin & Signout Implementation Email Confirmation Implementation Password Reset Implementation |
16.10.2018 | 22.10.2018 | Every Team |
Milestone 2: Initialization & User/Authorization | 23.10.2018 | 23.10.2018 | Everyone |
Milestone 1 Milestone 2 Basic Memory-Post Functionalities |
23.10.2018 | 30.10.2018 | Every Team |
Customer Milestone 1 | 30.10.2018 | 30.10.2018 | Everyone |
Full Memory-Post Functionalities Memory-Tag Functionalities |
23.10.2018 | 13.11.2018 | Every Team |
Milestone 3: Memory-Post & Memory-Tag | 13.11.2018 | 13.11.2018 | Everyone |
Comment Functionalities Homepage Implementation Main-Map and Memory-Map Implementation Annotation Functionalities |
13.11.2018 | 04.12.2018 | Every Team |
Milestone 4: Comment & Homepage & Map & Annotation | 04.12.2018 | 04.12.2018 | Everyone |
Milestone 1 Milestone 2 Milestone 3 Milestone 4 |
30.10.2018 | 04.12.2018 | Every Team |
Customer Milestone 2 | 04.12.2018 | 04.12.2018 | Everyone |
Like/Dislike Functionality Profile Page Implementation Search System Implementation Recommendation System Implementation |
04.12.2018 | 18.12.2018 | Every Team |
Milestone 5: Like/Dislike & Profile & Search & Recommendation | 18.12.2018 | 18.12.2018 | Everyone |
For now, we haven't merged anything to the master. The reason is every team is working on their own branches. The branch backend
is the master of backend team. Whenever any task is assigned or needs review, the assignee creates a subbranch and works on it. After the assignee is done with it totally, creates a pull request and waits for the review of at least one team member. This mechanism applies to both android
and frontend
, too.
- Slack: In CMPE352, we were not able to use Slack as effectively as this year. This year, we have lots of coding stuff, need to be organized and flexible to highlight the codes within the messages. For this purposes, we have used Slack within the team and subteams.
-
Django for API: We have decided to use Django last year and used it for implementation of API. It has strong capabilities for web development with the Python.
-
Postman: Probably, the best API development application in the market. Easy to use and maintain.
-
Android Studio: We used Android Studio to development for Android with Java. We also used Retrofit framework to connect to the API.
-
React: We used React for Web development.
-
Redux: To fetch data from the API, we used react redux libraries. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.
-
Google Maps: It is for map
-
Vscode: We think is the best text editor. So we used it.
-
Heroku: We deployed our react code there to serve.
-
MaterialUi: This is React components that implement Google's Material Design.