budget-planner's People
budget-planner's Issues
BP-25 - Create update list endpoint
Create an endpoint to update a list in the database.
BP-30 - Fix project after merges
BP-14 - Integrate component to display user's created lists
Use the shared component to display the lists that the user owns in the first tab.
Create a store for fetching the lists.
BP-17 - Create list's detail screen containing its items
Create the detail page of a list containing all the items.
This includes the UI, accessor and store
The UI should contain:
- header with list name
- list of items
- somewhere display the sum of all items
Consider using: https://mui.com/components/lists/
BP-33 - Add search bar for both lists views
Add a search bar above the tabs that will affect the list that is displayed
BP-2 - Setup web project
Create a React app using the npm commands:
npx create-react-app budget-planner-web --template typescript
cd ./budget-planner-web
npm i --save node-sass
- change all .css files to .scss
BP-39 - Write documentation
BP-4 - Create register endpoint
Create the register endpoint.
- Make user model (email and password)
- Setup database
- Use migrations
- Make controller
- Configure CORS
BP-11 - Create get user's created lists endpoint
Create an endpoint that returns all the user's own lists.
The controller should be authorized.
BP-7 - Create login page
Create the login page.
- create login page
- add components for input
- add register button
- add store
- make endpoint call
- on login, redirect to main page (empty route) and store token in cookies using a 3rd party npm lib
BP-16 - Create get list details endpoint
Create an endpoint for retrieving:
- all the items of a list
- the sum of their cost
- its users (id + email)
BP-26 - Create add list dialog
Add a create button to the list and add an edit dialog for adding the list.
Consider using:
BP-27 - Create update list dialog
When accessing a list, have an edit button visible to open the edit dialog in order to update the list.
BP-3 - Setup mobile project
BP-41 - Fix numeric input
BP-21 - Create add item dialog
Create an edit dialog to add an item using the API.
Consider using:
BP-1 - Create backend project
Create a ASP.NET Core API project and add the following packages:
- Microsoft.AspNetCore.Authentication.JwtBearer
- Microsoft.AspNetCore.Identity
- Microsoft.AspNetCore.Identity.EntityFrameworkCore
- Microsoft.EntityFrameworkCore
- Microsoft.EntityFrameworkCore.SqlServer
- Microsoft.EntityFrameworkCore.Tools
BP-42 - Shorten the toast notification to 3s
BP-38 - Adjust list to behave differently based on user role
The visitor should not be able to modify a list's items
BP-5 - Create login endpoint
Create the login endpoint by adding a method to the controller.
Will return a token
BP-28 - Unify project and clean up
This task is responsible for making sure the projects follow the same structure and that there is a foundation on how the project should be executed and configured.
BP-31 - Add toast service
Add toast service using stackable snakbars
BP-34 - Validate users for create/update list
Validate users for create/update list to not contain the owner of the list which is added automatically on backend.
BP-24 - Create add list endpoint
Create an endpoint to add a new list to the database.
BP-36 - Apply login/register theme to all components
BP-9 - Create main page
Create the main page of the application that will contain the title of the application and 2 tabs, each representing a list container.
Consider using:
BP-20 - Create remove item endpoint
Create an endpoint to remove an item from the database.
Check if the user has edit access to the list.
BP-6 - Create register page
Create the register page.
- use routing
- create register page
- add components for input
- add store
- make endpoint call
- on register, show success message and redirect to login (empty route)
BP-18 - Create add item endpoint
Create an endpoint to add an item to the database.
Check if the user has edit access to the list.
BP-32 - Add search in endpoint for lists
Add search for both get lists enpoint
BP-8 - Decide on UI components and design
The library for the UI has been decide: https://mui.com/components/
For the actual design, we should keep in mind:
- The application should firstly be dark mode
- We could use material design
Decision: Using material design
BP-10 - Add list and item entities
In models, add the entities related to items and entities:
Item
- Id: Guid
- Name: string
- Price: decimal
- ListId: Guid
- List: List
- CreatedAt: Date
- UpdatedAt: Date
List
- Id: Guid
- Name: string
- CreatedAt: Date
- UpdatedAt: Date
ListUser
- ListId: Guid
- UserId: Guid
- Type: ListUserType
ListUserType is an enum that has the following values: Owner
, Contribuitor
, Visitor
Also, add DB sets and add a migration
BP-35 - Check user permission on list update
Check if a user should be able to access and modify a list before updating it.
BP-15 - Integrate component to display user's shared lists
Use the shared component to display the lists where the user is a contributor or a viewer in the second tab.
Create a store for fetching the lists.
BP-37 - Add component for sharing a list with other users
BP-29 - Register page incomplete
The register page is currently incomplete. The validations are on the server, so the only thing needed is to print the error messages from the requests.
BP-12 - Create get user's shared lists endpoint
Create an endpoint that returns all the user's lists where he is a contributor or viewer.
The controller should be authorized.
BP-40 - Implement logout
BP-43 - Create total cost for all lists statistic
BP-22 - Create update item dialog
Use the edit dialog to update an item using the API.
BP-23 - Create delete item (confirmation) dialog
Add a delete button in the edit dialog and on click open a confirmation dialog and use the API to remove the item from the list.
Consider using:
BP-13 - Create component to display lists
Create a react component that displays a given list of lists that is reusable, having a parameter for the lists to display.
Consider using: https://mui.com/components/lists/
BP-19 - Create update item endpoint
Create an endpoint to update an item in the database.
Check if the user has edit access to the list.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.