ACT
- Spaces do not have to be inside a building.
- When creating a space, allow providing location data by selecting an existing building.
- If the building does not exist yet, allow creating it on the spot to add the space inside.
- Advanced validations → Improve validation rules for email, password, DNI, etc., using express-validator.
- Improved error handling → Clearer error messages and proper HTTP status codes.
- Auditing and logs → Log important actions such as user updates and deletions.
- Password recovery → Enable users to reset passwords via email with temporary tokens.
- Expired token management → Detect and handle expired tokens to enforce re-login.
- Display in navbar: welcome + full name of logged-in user.
- Render updated photos correctly on update.
- Use proper routing with
<Link>for navigation; back navigation should apply to the whole app. - When owners edit contracts, send predefined messages.
- Admin approval required for deleting contracts, users, and spaces; notify related users beforehand.
- Owners can delete spaces without contracts freely; otherwise, admin approval required.
- Tenant must accept invitation to be added to a property to gain access; can then review contracts and submit reports (e.g., price disputes).
- Fix missing
getContractsendpoint and unify route naming conventions.
- Defines available spaces (apartments, garages).
- Contains key details: size, location, owner, status.
- Essential for linking contracts and transactions.
- Priority: next step, since others depend on this.
- Records which user rents/buys which space and the relevant dates.
- Defines monthly payments, deposits, associated documents.
- Depends on SPACE, must be created after properties.
- Links spaces with addresses and postal codes.
- Enables filtering by city, address.
- Can be developed alongside SPACE to map locations.
- Records messages between tenants and owners.
- Essential for communication and support.
- Can be developed in parallel with CONTRACT (depends on users).
- Allows tenants to report issues in their spaces.
- Records status (PENDING, RESOLVED).
- Depends on SPACE and CONTRACT, implemented afterwards.
- Advanced filters → Search spaces by status (AVAILABLE, OCCUPIED), price, or type (APARTMENT, GARAGE).
- Clearer building association → Relate
spaceIdbetter withbuildingIdor delete builds and add those attrs to space. - Stricter validations → Prevent errors like spaces without price or owner.
- Image management → Expand gallery logic.
- Additional endpoints → Fetch available spaces, filter by city, etc.
- Profit percentage calculations based on owner count or custom percentages (e.g., 40-60%).
- User management → Registration, login, JWT authentication.
- Session management → Store user data with Context API or Redux.
- Profile and settings → Edit user info and profile photo.
- WebSocket connection → Real-time notifications on user connect.
- Private and group chat creation → Real-time interaction.
- Real-time messaging → Send, receive, delete, and react to messages.
- AWS Cloud for all UPLOADS file instance of local file save
- More space types: plots, parks, etc.
- Property search engine.
- Direct property purchase and acquisition.
- Keep UI simple and clean.
- Luis Gomez validation and Modesto in app data seeder.