se701group2 / daily-focus Goto Github PK
View Code? Open in Web Editor NEWShared repo for 701 Group 2 project
License: MIT License
Shared repo for 701 Group 2 project
License: MIT License
Developer Story
As a developer, I want to arrange the back-end file system/structure into a more orderly layout to ensure readability/maintainability
Acceptance Criteria
User Story
As a user, I want to be able to sign-up for an account
Acceptance Criteria
Team Story
As a team, we want guidelines on filing bug reports, feature requests, and environment setup + running a test suite. Git stuff too - fork/pull workflow using squash & merge for PRs.
Acceptance Criteria
Additional Context
https://opensource.guide/starting-a-project/#launching-your-own-open-source-project
Also includes PR templates and potentially issue templates - these belong in a .github/
folder.
https://docs.github.com/en/github/building-a-strong-community/about-issue-and-pull-request-templates
Important: Also, also - needs to cover an issue approval process for newly created issues
User Story
As a user, I want a widget that tells me what the weather is like at a given location.
Acceptance Criteria
Additional Context
Figma Link: https://www.figma.com/file/J2DDVa9redQigCzTee56xw/SE701-Daily-Focus?node-id=0%3A1
Developer Story
As a developer, I want to be able to shallow render components so that I can create snapshot tests.
Acceptance Criteria
Additional Context
enzyme package link: https://www.npmjs.com/package/enzyme
enzyme-to-json package link: https://www.npmjs.com/package/enzyme-to-json
how to write snapshot tests with jest (already added to the project) and enzyme: https://medium.com/opendoor-labs/testing-react-components-with-jest-a7e8e4d312d8
Developer Story
As a developer, I should be able to use a method to authenticate users before responding to requests within API methods.
Acceptance Criteria
A method that can be used by other API methods to check if the token given in the request is valid through firebase authentication. If it is not valid, a 403 response should be returned. Else, the user id should be returned by the method.
Additional Context
https://firebase.google.com/docs/auth/admin/verify-id-tokens
User Story
As a user, I want to see a calendar that shows me my events for the day.
Acceptance Criteria
Additional Context
Figma Link: https://www.figma.com/file/J2DDVa9redQigCzTee56xw/SE701-Daily-Focus?node-id=32%3A3
Describe the bug
When an incorrect password or email is sent in the request for "/login", no response is received
Steps To Reproduce
Either: enter an incorrect password or username in the request for "/login"
Screenshots
[Screenshots/screen recordings of the bug]
Expected behavior
A 401 unauthorized response
How to fix
delete the console.log(err)
Would be good to change line 32 to
return res.status(401).json({ message: err.message });
and delete validation checks
Additional Information
Developer Story
As a developer, I want the frontend file structure to be clean and intuitive.
Acceptance Criteria
pages
folder is created which contains the LandingPage and the LoginPageDeveloper Story:
As a developer, I want to have the routes for the todo list API calls configured to allow for work delegation.
Acceptance Criteria:
Developer Story
As a developer, I want a way to implement the storage of API tokens.
Acceptance Criteria
Team Story
As a team, we want documentation of the application design, such as design patterns used, colour schemes, screenshots of Figma hi-fi prototypes.
Acceptance Criteria
(N/A - this is an ongoing task)
User Story
As a user, I want to see the widgets that I have selected appear in the dashboard
Acceptance Criteria
Additional Context
N/A
Team Story
As a team, we want a document that describes the architecture of the backend. We want a description of the packages, the REST endpoints available, the testing framework, and any other relevant documentation that would help a new developer start coding.
Acceptance Criteria
(N/A - this is an ongoing task)
User Story
As a user, I want to be able to create an account using the signup form on the landing page
Acceptance Criteria
Additional Context
The landing page has already been designed and the signup form has been created. This issue only involves sending the form data to the appropriate API endpoint for signups.
Dependencies
#52
User Story
As a user, I want to have the application in a demoable, working state.
Acceptance Criteria
Developer Story
As a developer, I want to be able access the real-time database on firebase
Acceptance Criteria
There is a database instance that can be written to and read from
Additional Context
https://firebase.google.com/docs/database/web/start
Developer Story
As a developer, I want Material UI icons to be included as a dependency so I can use the icons.
Acceptance Criteria
Team Story
As a team, we want a code of conduct document so that we understand the behaviour that is expected by contributors to the codebase.
Acceptance Criteria
Additional Context
https://www.contributor-covenant.org/
User Story
As a user, I want to make sure my todo list items are persistent. They should be in sync across different devices
Acceptance Criteria
Additional Context
None
User Story:
User wants to be able post a new entry onto their todo list.
Acceptance Criteria:
Dependencies:
Issue #42
Team Story
As a team, we want a document that describes the architecture of the frontend. We want a description of each of the components, the APIs that are used, the testing framework, and any other relevant documentation that would help a new developer start coding.
Acceptance Criteria
(N/A - this is an ongoing task)
Developer Story
As a developer, I want to be able to unit test my API end points
Acceptance Criteria
Additional Context
https://dev.to/nedsoft/testing-nodejs-express-api-with-jest-and-supertest-1km6
Dependencies
[If applicable, links to other issues that this issue is dependent on]
User Story:
User wants to be able to remove an entry from their todo list
Acceptance Criteria:
Dependencies:
Issue #42
Developer Story
As a developer, I want to have a React app initialised so that I can start implementing the frontend of the application.
Acceptance Criteria
client
folderSteps to reproduce
Expected Behaviour
The background should be dark blue. Instead it is white and the text is all janky.
How to fix
App.js is importing the wrong css - it should be importing App.css, not style.css
User Story
As a user, I want to be able to manage my widgets and add/remove widgets to my focus page as I see fit.
Acceptance Criteria
Dependencies
[If applicable, links to other issues that this issue is dependent on]
Describe the bug
There is extra code in app.js that:
Causes the server to run on localhost:3000 instead of 9000 which conflicts with the front-end port
Steps To Reproduce
Run:
node app.js
This will cause the server to run on port 3000.
Expected behavior
The server should run on port 9000.
How to fix
Remove the unnecessary lines of code in app.js
User Story
As a user, I want to get some points when I finish one task, then I can use these points to water trees(Planting trees game), and then the trees can be more beautiful and big.
Acceptance Criteria
User Story
As a user, I want to be able to log into the app with my registered email and password, so that I can access my dashboard with my data.
Acceptance Criteria
use-persisted-state
Additional Context
Hi-fi prototype of login page
Dependencies
#52 - will have a route to this page
#59 - for persisting the user token
User Story
As a user, I want to be able to prototype a landing page for the application with mocked sign-up/sign-in functionality
Acceptance Criteria
Additional Context
This is purely for demonstration purposes; the real signup/login functionality will have to be implemented at a later date.
Dependencies
N/A
User Story
As a user, I like to there to be some kind of stopwatch functionality.
Acceptance Criteria
A new widget with a stop watch that can be started, paused and reset.
Additional Context
Dependencies
Developer Story
As a developer, I want Prettier/ESLint to be set up so that code styles are enforced and we maintain a consistent and clean codebase.
Acceptance Criteria
Additional Context
_Note - this has already been done in the frontend in PR #17 _
User Story:
User wants to be able to update todo list entry contents or check/uncheck them
Acceptance Criteria:
Dependencies:
Issue #42
User Story
As a user, I want to be able to see what the time and date is at a glance
Acceptance Criteria
Additional Context
Figma Link: https://www.figma.com/file/J2DDVa9redQigCzTee56xw/SE701-Daily-Focus?node-id=0%3A1
User Story
As a user, I want to see my available widgets on the homepage in a grid layout
Acceptance Criteria
Additional Context
Figma Link: https://www.figma.com/file/J2DDVa9redQigCzTee56xw/SE701-Daily-Focus?node-id=0%3A1
User Story
As a user, I want a way to open the plant game and see my progress
Acceptance Criteria
User story
I want to be able to login to access my dashboard
Acceptance Criteria
User login credentials should be validated by firebase
User login credentials should be used to access obtain token
Developer Story
As a developer, I want the contents of public folder, reportWebVitals.js, and stock react logos to be cleaned up and to match the theme of our project.
Acceptance Criteria
Additional Context
Logo images can be found in the #design Discord.
Figma link: https://www.figma.com/file/J2DDVa9redQigCzTee56xw/SE701-Daily-Focus?node-id=0%3A1
Developer Story
As a developer, I want to move the App
component to be one level about the components
folder because the App should not be considered a component.
Acceptance Criteria
components
folderDeveloper Story
Ass a developer, I want packages available to aid frontend developed. I want my code to be automatically configured to match the project standard and I want additional options for styling.
Acceptance Criteria
Developer Story
As a developer, I want the backend to be initialised so that I can start implementing the application backend.
Acceptance Criteria
server
folderUser Story
Ensure user data integrity.
Acceptance Criteria
Dependencies
User Story
As a user, I want to see a header component that contains important components: date time, search bar, button to add widgets.
Acceptance Criteria
Additional Context
Figma Link: https://www.figma.com/file/J2DDVa9redQigCzTee56xw/SE701-Daily-Focus?node-id=0%3A1
Dependencies
Search bar component: #7
Date time component: #4
Team Story
As a team, we want READMEs that introduce the project and point new contributers to basic resources (contributing guidelines, the wiki, etc)
Acceptance Criteria
Additional Context
Helpful website: https://www.makeareadme.com/
For the frontend README.md, the auto-generated create-react-app
README.md is a good starting point, but it needs to be pruned.
Team Story
As a team, we want clear documentation of the activities we have been completing together, such as meeting minutes and decisions about team structure.
Acceptance Criteria
(N/A - this is an ongoing issue)
User Story:
User wants to be able to get and see all their todo list entries.
Acceptance Criteria:
Dependencies:
Issue #42
Describe the bug
The backend server does not have a Cross-Origin Resource Sharing (CORS) policy configured. Currently, the backend rejects calls from anything running on anything other than itself - including the frontend calling the API from a different port on localhost.
Steps To Reproduce
localhost
Screenshots
Screenshot of CORS error
Expected behavior
The server should allow a request from the localhost
origin of any port through and respond to the API request.
How to fix
Access-Control-Allow-Origin
CORS headers need to be configured to allow requests from the localhost
origin at a minimum.
This could be expanded as far as allowing requests from any origin (*
) to ensure that it will always work - but that does present a security issue in that any random person would be able to call our API and perform a DDoS attack.
Additional Information
Not applicable
User Story
As a user, I want a to do list that I add items to and which I can check off as completed.
Acceptance Criteria
Additional Context
Figma Link: https://www.figma.com/file/J2DDVa9redQigCzTee56xw/SE701-Daily-Focus?node-id=0%3A1
In future, this component will be integrated with the backend so the list can sync across multiple computers. However, for this minimum component, the goal is for it to simply be stored in browser storage.
User Story
As a user, I want to be able to perform a Google search from the home page of the application.
Acceptance Criteria
Additional Context
Figma Link: https://www.figma.com/file/J2DDVa9redQigCzTee56xw/SE701-Daily-Focus?node-id=0%3A1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.