For subject CPE334, KMUTT
- Daily Life Management Android Application
- Pin notes and due dates, can add stages with tags
- Group notifications
- To-buy list + To-Do List
- Price Calculator
- Map Links for meet-ups
- Schedule
- To-buy list + To-Do List
- Sign in and Login
- Price Calculator
- Planned APK file implementation
- Source code config
- Virtual Environment
- It is best to setup a virtual but if you don't want to then, then You do you.
- Please setup venv outside of the repository
cd ..
In this case, we usepython -m venv /path-to-virtual-environment
python -m venv ../virenvproject
- Cloning Repository
- Install git and select the location you want to save the project
git clone https://github.com/Sirapobchon/CPE334Project.git
- Extension used
- Flet for UI
pip install flet
- Pyrebase for Google Firebase
pip install pyrebase4
- Virtual Environment
Final Commit and Alpha Release/summary>
@sirapobchon - As the project deadline approaches, the sprint 4 has come to an end. We, along with the scrum master, have determined that the project is not fully prepared for a complete release. Consequently, the project will be shared without being packaged into a .apk file. Instead, it will be provided solely as source code for our use in sprint 5 and beyond, should we choose to proceed.
Packaging and Installation
- Packaging Planning
- New automated Virtual Environment and Extension needed installation planned
- Pop-Up Bug fix
- Account page with backend
- UserID client storage
3rd Sprint End Meeting and Start 4th sprint
- New 4th sprint due to an increase in time
- Report in progress
- Narrative finish
- Ask @EXer07 to help do the report
Report Progress and Completed pagelink
-
Big Achievement with the page link completion
- The only missing page is the Calendar
- Some minor bug with the homepage but every page is linked together
- Now is the time to start compiling all the comments and documentation
-
Report Progressing
- Completed
- Abstract
- Functional Requirements
- Architectural Design
- Tools
- WIP
- Computing Languages
- Component and User Interface
- Completed
-
Planning some major and minor bug fixes
- To-do list connection to the backend
- To buy list connection to the backend
- Forget Password connection to the backend
-
Scrum process
- sprint
- 9 Nov - 22 Nov
- @EXer07 Connect To Do and To Buy with Async - 3/3 done
- @pppcyd Change NaviBar 2/2 and Backend Variable 0/1 - 2/3
- @janekmutt Forget Password Page - 1/1 done, Account Page - 2/3 remaining left for @Sirapobchon backend
- @Sirapobchon Firebase Server - 8/14 The only backend current is login and signup
- @Sirapobchon Connect Calculator - 3/3 done
- @WangSonicS Calendar that can hold reminders - 2/8 calendar done but nothing else
- 22 Nov - 6 Dec
- Moved Deadline. Yay! Happy day!
- 9 Nov - 22 Nov
- sprint
2nd Sprint End Meeting and Start 3rd Sprint
-
Current 2nd Sprint Work for Each Member
- @EXer07 and @Sirapobchon Page Connection - 8
- @EXer07 Navigation Bar connection problem
- https://youtu.be/1at0ZZF24Hs?si=jC8EpQAn1wn5Hy3O
- @janekmutt Forget Password Page - 1 and Account Page - 3
- @pppcyd To Do and Buy connection problem - 3
- @WangSonicS Calendar Page - 8
- @EXer07 and @Sirapobchon Page Connection - 8
-
Backend table by @Sirapobchon and @pppcyd
- Authenticate (User sign-in) - 2/2 Done
- ToDo Data - 0/1
- ToBuy Data - 0/1
- Calendar - 0/2
- Data Connection - 0/2
- Total 2/8
-
Scrum process
- sprint
- 9 Nov - 22 Nov
- @EXer07 Connect To Do and To Buy with Async
- @pppcyd Change NaviBar and Backend Variable
- @janekmutt Forget Password Page - 1, Account Page - 3
- @Sirapobchon Firebase Server - 8 remain 6
- @Sirapobchon Connect Calculator
- @WangSonicS Calendar that can hold reminders - 8
- 22 Nov - 28 Nov
- 9 Nov - 22 Nov
- sprint
Update Codebase
-
Main connecting page
- @EXer07 and @Sirapobchon
- Use main.py to connect to the homepage, login, signup, todo, tobuy, and calendar
-
@everyone Whoever is free, start making a report
- Report Requirement
- Abstract
- Problem Definition
- Functional Requirement - Done
- Use-case Diagram
- Use-case Narrative
- Architectural Design
- Tools
- Diagram Drawing Tools
- Visual-Paradigm
- Source Control Management
- GitHub
- UI Design Tools
- Canvas
- IDE
- VS Code with extension
- Compile
- Android Studio
- Diagram Drawing Tools
- Computing Languages
- Python
- Flet UI
- Google Firebase
- Firebase Backend
- Python
- Component and User Interface
- Tools
- Other Design Elements
- Activities Diagram
- Sequence Diagram
- Package Diagram
- Database Diagram
- Development Process
- Self-Evaluation
- Appendix
-
Backend table by @Sirapobchon and @pppcyd
- Authenticate (User sign-in) - 2/2 Done
- ToDo Data - 0/1
- ToBuy Data - 0/1
- Calendar - 0/2
- Data Connection - 0/2
- Total 2/8
-
Scrum process
- @EXer07 Notification - 3
- @janekmutt Forget Password Page - 1
- @EXer07 and @Sirapobchon Firebase Server - 8 remain 6
- @WangSonicS Calendar that can hold reminders - 8
Deciding the Back-end future
-
Reason:
- easier
- cloud hosting (No need to open own server)
-
Scrum process
- @EXer07 Notification - 3
- @janekmutt Forget Password Page - 1
- @EXer07 and @Sirapobchon Firebase Server - 8
Sprint Start Meeting
-
Scrum process
- Sprints
- 26 Oct - 9 Nov
- Scoring and Scrum Planning
- @pppcyd To Buy-list - 3
- @janekmutt Value Calculator - 2
- @janekmutt Home page continues - 1
- @WangSonicS Calendar that can hold reminders - 8
- @EXer07 and @Sirapobchon backend stuff for all pages - alot
- @everyone Whoever is free, start making a report
- 9 Nov - 22 Nov
- 22 Nov - 28 Nov
- 26 Oct - 9 Nov
- Sprints
-
The work should be completed more than 80% because if not it will not be completed in time.
Sprint End Meeting
- Scrum process
- Sprints
- 6 Oct - 19 Oct
- Login and Signup Page @EXer07
- Score 3 remaining 2 point
- Need Link Page and Backend @Sirapobchon
- To-Do List @pppcyd
- Score 2 remaining 1 point
- Remaining Backend @Sirapobchon
- Home page @janekmutt
- Score 2 remaining 1 point
- Icon instead of picture
- Connecting Page
- Come from the Home Page of Jane
- Waiting for Jane to be done with the Home page
- Scoring up to 8
- Login and Signup Page @EXer07
- 26 Oct - 2 Nov
- 3 Nov - 15 Nov
- 17 Nov - 28 Nov
- 6 Oct - 19 Oct
- Requirement Calculation score
- Home page - 3
- Connecting Page (Continuation from Home Page)
- Login and Signup Page - 5
- To-Do List and To-Buy List - 3
- Price and Value Calculation - 2
- Calendar - 8
- Notification - 5
- Home page - 3
- Next sprint planning
- Starting 26 Oct due to Midterm test
- Sprints
The big OH... moment
@Sirapobchon had discovered that flet(UI) could only be run as one file.
No dividing into multiple .py files to run.
Only import to be page run in the main.py file.
Meeting to let everyone know that the file format will probably need to be changed.
- Need fixing
- login.py
- main.py
- Django
- settings.py
- urls.py
- user app
- models.py
- views.py
Thursday 5 Oct Meeting planning
-
Main Function to be done
- To-do list
- To-buy list
- Total price calculation
- Notification
- Calendar
- With note
- Login and Signup page
- Price Budget Calculate
- New idea
-
New Functional Requirements:
- Login and Signup Page:
- Users should be able to create an account with a username and password.
- Existing users should be able to log in securely.
- There should be password recovery options (e.g., email verification, security questions).
- User authentication should be secure and protect user data.
- To-Do List and To-Buy List:
- Users should be able to create, edit, and delete tasks.
- Each task should have a title, description, due date, and priority.
- Tasks should be organized by categories or projects.
- Users should be able to mark tasks as completed.
- There should be a way to filter and sort tasks (e.g., by due date or priority).
- Users should receive notifications or reminders for upcoming tasks.
- Users should be able to create a shopping list.
- Each item on the list should have a name, quantity, and optional notes.
- Users should be able to mark items as purchased or delete them.
- There should be a way to categorize items (e.g., groceries, household items).
- Price and Value Calculation:
- Users should be able to input prices and quantities of items.
- The application should calculate the total cost and provide a breakdown.
- Users should be able to calculate the value of items (e.g., investments, assets).
- There should be support for different currencies or units of measurement.
- Calendar:
- Users should be able to add events/appointments to the calendar.
- Each event should have a title, date, time, location, and notes.
- Users should be able to view their calendar by day, week, or month.
- Calendar should support recurring events (e.g., weekly meetings).
- Users should have the option to set reminders for calendar events.
- Notification:
- Users should receive notifications for various events (e.g., task deadlines, calendar events).
- Notifications should support multiple platforms (e.g., mobile notifications, email notifications).
- Users should have the option to customize notification preferences (e.g., sound, vibration).
- Login and Signup Page:
-
Scrum process
- @pppcyd Scrum Master
- 2 Week of Sprint Length
- 4 Sprints
- 6 Oct - 19 Oct
- Login and Signup Page @EXer07
- To-Do List and To-Buy List @pppcyd
- Home page @janekmutt
- 20 Oct - 2 Nov
- 3 Nov - 15 Nov
- 17 Nov - 28 Nov
- 6 Oct - 19 Oct
- Requirement Calculation score
- Login and Signup Page - 5
- To-Do List and To-Buy List - 3
- Price and Value Calculation - 2
- Calendar - 8
- Notification - 5
-
Theme template deciding
- Font theme
- Color theme
Functional Requirements
Functional Requirements:
- User Registration and Profile:
- Users can create accounts and log in.
- Users can update their profiles.
- Dashboard:
- Users see a home screen showing notes, due dates and notifications.
- Notes and Tasks:
- Users can create, edit, and delete notes.
- Tasks can be organised with stages and tags.
- Tasks have priorities and deadlines.
- There's a to-do list for tasks.
- Groups and Notifications:
- Users can create and join groups.
- Groups support announcements and notifications.
- Shopping List:
- Users can create shopping lists.
- Easy item management and reminders.
- Map Integration:
- Users can share map links.
- Schedule and Calendar:
- Users have a calendar for events.
- Events support reminders.
- Settings and Security:
- Users can customise app settings.
- Ensure data security and privacy.
- Offline Mode:
- App works offline with basic features.
- Data Backup and Sync:
- Users can back up and sync data.
- Feedback and Support:
- Users can provide feedback.
- Include a help section.
- Documentation:
- Provide a user manual.
Project Planning
- Project name
- INSERT COOL CATCHY NAME HERE
- LifeHack (Backup Name)
- Application
- Android compile
- Flutter(Flet) (UI) - @Sirapobchon,@pppcyd,@janekmutt,@EXer07
- Python Language
- https://www.codesass.com/blog/articles/flet
- Django (Backend) - @Sirapobchon,@EXer07,@WangSonicS
- UI Designing (Flet)
- Github Progress update
- Only me probably
- For version keeping
- Because "Coding"
Project approval
- Daily Life Management as a Student Project approval