buyable's People
buyable's Issues
Move hardcoded strings into constants file
Align Permissions with string constants throughout Front&Backend
- use constants on backend
- use constants on frontend form, show constants instead of permission strings in jsx
- test on POST
[/item/new] Put in owner id from session
INTRODUCE REDUXXXXX โจ
[/api/user GET] return user DB entry
Return DB object except private groups
- Get user entry
- Look up groups in DB (private/public)
- filter for public groups, return object
Register Dialog
- Create dialog
- Connect to backend
- Error handling
[/api/auth/login] Add login route
- look up user in database
- encrypt password & check with DB password (bcrypt.compare)
- put user in session if password matches
- return 401 if password doesn't match/user is not in DB
API TESTS
User
- /user/new POST
- /user GET
- /user PATCH
- /user DELETE
- /user/new POST FAIL
- /user GET FAIL
- /user PATCH FAIL
- /user DELETE FAIL
Group
- /group GET
- /group PATCH
- /group/new POST
- /group/items GET
- (/group DELETE)
- /group GET FAIL
- /group PATCH FAIL
- /group/new POST FAIL
- /group/items GET FAIL
- (/group DELETE FAIL)
Auth
- /auth/login POST
- /auth/logout GET
- /auth/login POST FAIL (wrong credentials, credentials missing)
- /auth/logout GET FAIL (not logged in)
- /auth/check
Item
- /item/new POST
- /item GET
- /item PATCH
- /item DELETE
- (/item/search GET)
- /item/new POST FAIL
- /item GET FAIL
- /item PATCH FAIL
- /item DELETE FAIL
- (/item/search GET FAIL)
Add User Profile Page
- Add nested routing
- Add user profile page (for modifying user info)
- Add user settings page (for adjusting preferences not related to user info)
- Add items page (for managing own(!!) items)
- Add groups page (for managing own(!!) groups)
Integrate Group Selection into "Add Item" View
- Dropdown Select with search
- Show selected groups as labels
- user can remove labels by clicking "x"
- integrate into POST to API
Fix Sidebar on small screens
Sidebar and content overlap
[/auth/check] return if session contains user/if user is logged in
[/item/new] Validate POST body
- validate whether amount is a number
- validate whether description has valid length
- validate whether price is a number
Integrate updateUser redux to user profile page
user/groups get all user groups
[/user UPDATE] update user doc
Watchout: Check how to update (.update/.save)? cuz save will likely not work because of duplicate check
[/auth/login] Endpoint
[/item/new] check whether user is logged in
prevent not loggedin users from posting new items
connect user edit to backend /user UPDATE
[ProfileGroups] View owned groups / Manage groups
Use Formik for React Forms
Main Timeline View
- Read all groupids from user store
- Get items from groups /items GET
- Display in cards
Show own items in profile/items view
Add Suspense Loader
/api/user Route
Responsive Design
user/items get all items of user
Add Item View
Research best SaaS solution for /item/search (or just implement search on our own?)
[/group/new POST] Create Group Route
Only update redux state after successful api calls
add user edit
Implement "remember me", restore logged in user from session on page load
- Call /api/auth/check
- Put user into redux store
Remove buttons from header on small screens
Header looks like shit rn
Profile link in header
- Add link with username to search bar
- make it look nice
Item Card
/api/item Route
Integrate redux-sagas
[/item UPDATE]
- Update item doc
- Update group docs if item get's added/removed from groups
[/auth/logout] Endpoint
Add React-Router and Routing for Home&Profile
- add react-router
- add router top-level boilerplate
- structure in pages, persist Header, Modals, Sidebar
- restructure App / Home Update renamed to Main
[/group GET] get by objectID or urlSuffix?
/api/group Route
[User Group Page] ADD GROUP
Integrate Redux backbone into React
- addUser,
- deleteUser
- getCurrentUser
- toggleModal
Login dialog
- make dialog
- connect to backend
Fix dialog windows on small screens
Dialog windows have no borders and are not centered horizontally
[/group/items GET] get items in group
- Query param: amount( default: 5), sortby(default: createdAt Date)
- Look up top 5 items in group by sortBy param
- For each item, get Item object from DB
- Map item objects to array, send back to client
Authentication
[/api/user/new ] check if user already exists
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.