Skip to content

Releases: MakanMatch/Backend

Bug fixes and improvements

17 Aug 09:29
Compare
Choose a tag to compare

MakanMatch Backend v1.0.1

Minor bug fixes and improvements since the last major v1.0 release.

Overview of changes:

  • Fixed erroneous Logger log in cancelReservation
  • Fixed issue where unpublished listings were not being shown on host schedule page
  • Fixed issue where past listings were appearing on homepage

Full Changelog: v1.0...v1.0.1

Have a great time on MakanMatch! 🥘

© 2024 The MakanMatch Team. All rights reserved.

First Release

13 Aug 16:44
Compare
Choose a tag to compare

MakanMatch Backend Initial Release

MakanMatch Backend is a Node.js application which runs a dual service operation consisting of a standard Express web server API and a WebSocket server. The system is a highly configurable, robust, reliable and efficient API that creates meaningful value in the customer's use.

At the server's foundation, internal services help guarantee data consistency, system maintenance and external integrations. These are organised in the ./services directory. Services include Analytics, FileManager, FireStorage, Emailer and OpenAIChat to name a few.

The server is configurable through environment variables injected into the node process. Do this by using a .env file or otherwise. To see more instructions on configuring the backend server, see ./ConfiguringSystem.md.

The server's boot-loader and entry point is located at ./index.js, which checks the system environment, initialises and sets up internal services, registers middleware and security systems, synchronises with the database and runs the API server.

This release includes the following features:

  • Dynamic Sequelize ORM Integration
    • MySQL and SQLite database modes available
    • SQL query execution logging is highly configurable
  • Robust file management with FileManager service
    • In cloud mode, get the guaranteed presence of the latest version of the file in ./FileStore. Using an on-demand principle, FileManager keeps file management simple, efficient and robust and keeps the ./FileStore directory always in-sync.
    • In local mode, FileManager can provide a layer of basic I/O to the centralised ./FileStore directory
  • Analytics tracking with Analytics service, which supports periodical persistence for efficiency. Tracked metrics can also be added and the service will automatically start tracking them upon reboot.
  • Authentication system
    • Middleware guards to ensure request authorisation
    • TokenManager service which aids with easy verification and auto-refreshing of JWTs
  • Sequelize Models, with automated model detection
    • Various models such as Admin, ChatMessage, FoodListing, Guest, Host, Reservation, Review, Warning, ReviewLike, UserRecord, FavouriteListing, ListingAnalytics, RequestAnalytics, and SystemAnalytics.
  • Automated router registration
  • Routers related to:
    • Identity & Admin
    • Reservations Management
    • Listings
    • Reviews
    • Chat (Image message router, WebSocketServer is also there but manually initialised as a isolated server by bootloader)
    • Chatbot (MakanBot feature which interfaces with OpenAIChat through the MakanBot router)
    • Content Delivery (File delivery)
    • Core Data (Core data model retrievals)
  • Helper middleware for request processing
  • Database Tools script to activate different helper tools to quickly manipulate the database
  • Superuser script for superuser access into the system for various actions

Comprehensive PR-based release notes below:

  • New helper services and standardised database configuration by @Prakhar896 in #1
  • Created FileManager service, added database schema models by @Prakhar896 in #6
  • Endpoints for Listing Details Page, Middleware, Cache Service, SQL Query Logging Configuration by @Prakhar896 in #14
  • First PR (Linked express router, added backend routes and some test routes, implemented error handling) by @Sadliquid in #13
  • Added account creation and login for Guest and Host by @JunHammy in #12
  • Backend Server for Reviews by @lincoln0623 in #11
  • Modified multer config, backend routes and added heic file format by @Sadliquid in #16
  • Deleting images, Updating and Getting Listings, DB Tools by @Prakhar896 in #24
  • Added authentication state management by @JunHammy in #23
  • Added routes, slightly improved backend logic, added file removing process for failed image checks by @Sadliquid in #25
  • Done Basic messaging functionality by @nicholascheww in #26
  • Optimised back-end server routes, implemented database integration and functionality testing of server routes by @lincoln0623 in #22
  • Association and new endpoint for image fetching by @lincoln0623 in #32
  • Extensions, Automated Router Registration, Better updateListing validation and Type Hints by @Prakhar896 in #34
  • SQL saving to Database by @nicholascheww in #33
  • Implemented redux state management by @JunHammy in #40
  • Changed my account endpoint to camel cases by @Prakhar896 in #41
  • Reservation junction table, eager loading of listing reservations by @Prakhar896 in #42
  • Returned an extra DUMMY_HOST_ID in /fetchHostDetails by @Sadliquid in #46
  • Optimized Review Page Endpoint Routing, New Like Review Endpoint and ReviewLike Modal by @lincoln0623 in #44
  • Using state for edit and delete messages as well as doing reply to message function by @nicholascheww in #45
  • Added Email Verification and fixed auth state management by @JunHammy in #47
  • Added createReservation and incomplete updateReservation in new router by @Prakhar896 in #52
  • New create, get and update reservation integrated with validateToken by @Prakhar896 in #60
  • Dynamic token management with TokenManager by @Prakhar896 in #61
  • Edit and Delete Review Route Endpoint by @lincoln0623 in #59
  • Added account management features by @JunHammy in #58
  • Removed dummy data, fixed bugs, updated FoodListing Model and added extra error handling by @Sadliquid in #57
  • Data sanitisation and upgrading authentication system by @Prakhar896 in #71
  • Like Review Endpoint Optimization by @lincoln0623 in #70
  • New FavouriteListing and UserRecord table synchronised through afterCreate hooks by @lincoln0623 in #77
  • Fixed disappearing hostID issue by @lincoln0623 in #78
  • Fixed missing HostID in database table issue by @lincoln0623 in #79
  • Added changing of lname and fname, modified endpoints for calendar ui by @JunHammy in #76
  • Update Food Rating & Hygiene Grade for Host after review changes by @lincoln0623 in #80
  • New HTMLRenderer service and documentation for all services by @Prakhar896 in #83
  • Dynamic host rating bars API, sanitiseData, adjusted error responses and bug fixes by @Sadliquid in #75
  • Favourite Listing Backend Router Endpoint by @lincoln0623 in #82
  • Allowing for multiple 1 to 1 conversations by @nicholascheww in #74
  • Extended Listing Host View (Backend) by @lincoln0623 in #87
  • OpenAIChat service, getHostPaymentQR and Reservation Cancellation by @Prakhar896 in #88
  • Added endpoints for account profile picture and fetching of users for admins by @JunHammy in #85
  • Uploading of images for messaging by @nicholascheww in #86
  • Hotfix: BootCheck OPENAI_API_KEY Check by @lincoln0623 in #93
  • MakanBot API, conversationHistory and enhanced approximate address calculation by @Sadliquid in #91
  • Hotfix: Trimming of review comments by @Prakhar896 in #95
  • Upgraded cancel reservation to support host cancellations by @Prakhar896 in #98
  • Reservation Confirmation email dispatch and improvements to accountInfo and getReservations by @Prakhar896 in #102
  • Approx address and MakanHistory filtering bug by @Sadliquid in #101
  • Using User's Profile Picture Now instead of Avatar if they have one by @nicholascheww in #100
  • Added ban user for user management, added email templates in views by @JunHammy in #103
  • Review Email, Host Availability in Reviews Page and Reviews Page Image Filtering by @lincoln0623 in #107
  • Added issue warning, implemented emails on endpoints by @JunHammy in #110
  • Securing endpoints interacting with listing in...
Read more

v0.1 Stable Alpha

01 Aug 07:04
70cde8f
Compare
Choose a tag to compare
v0.1 Stable Alpha Pre-release
Pre-release

Stable alpha release for MakanMatch.

What's Changed

  • New helper services and standardised database configuration by @Prakhar896 in #1
  • Created FileManager service, added database schema models by @Prakhar896 in #6
  • Endpoints for Listing Details Page, Middleware, Cache Service, SQL Query Logging Configuration by @Prakhar896 in #14
  • First PR (Linked express router, added backend routes and some test routes, implemented error handling) by @Sadliquid in #13
  • Added account creation and login for Guest and Host by @JunHammy in #12
  • Backend Server for Reviews by @lincoln0623 in #11
  • Modified multer config, backend routes and added heic file format by @Sadliquid in #16
  • Deleting images, Updating and Getting Listings, DB Tools by @Prakhar896 in #24
  • Added authentication state management by @JunHammy in #23
  • Added routes, slightly improved backend logic, added file removing process for failed image checks by @Sadliquid in #25
  • Done Basic messaging functionality by @nicholascheww in #26
  • Optimised back-end server routes, implemented database integration and functionality testing of server routes by @lincoln0623 in #22
  • Association and new endpoint for image fetching by @lincoln0623 in #32
  • Extensions, Automated Router Registration, Better updateListing validation and Type Hints by @Prakhar896 in #34
  • SQL saving to Database by @nicholascheww in #33
  • Implemented redux state management by @JunHammy in #40
  • Changed my account endpoint to camel cases by @Prakhar896 in #41
  • Reservation junction table, eager loading of listing reservations by @Prakhar896 in #42
  • Returned an extra DUMMY_HOST_ID in /fetchHostDetails by @Sadliquid in #46
  • Optimized Review Page Endpoint Routing, New Like Review Endpoint and ReviewLike Modal by @lincoln0623 in #44
  • Using state for edit and delete messages as well as doing reply to message function by @nicholascheww in #45
  • Added Email Verification and fixed auth state management by @JunHammy in #47
  • Added createReservation and incomplete updateReservation in new router by @Prakhar896 in #52
  • New create, get and update reservation integrated with validateToken by @Prakhar896 in #60
  • Dynamic token management with TokenManager by @Prakhar896 in #61
  • Edit and Delete Review Route Endpoint by @lincoln0623 in #59
  • Added account management features by @JunHammy in #58
  • Removed dummy data, fixed bugs, updated FoodListing Model and added extra error handling by @Sadliquid in #57
  • Data sanitisation and upgrading authentication system by @Prakhar896 in #71
  • Like Review Endpoint Optimization by @lincoln0623 in #70
  • New FavouriteListing and UserRecord table synchronised through afterCreate hooks by @lincoln0623 in #77
  • Fixed disappearing hostID issue by @lincoln0623 in #78
  • Fixed missing HostID in database table issue by @lincoln0623 in #79
  • Added changing of lname and fname, modified endpoints for calendar ui by @JunHammy in #76
  • Update Food Rating & Hygiene Grade for Host after review changes by @lincoln0623 in #80
  • New HTMLRenderer service and documentation for all services by @Prakhar896 in #83
  • Dynamic host rating bars API, sanitiseData, adjusted error responses and bug fixes by @Sadliquid in #75
  • Favourite Listing Backend Router Endpoint by @lincoln0623 in #82
  • Allowing for multiple 1 to 1 conversations by @nicholascheww in #74
  • Extended Listing Host View (Backend) by @lincoln0623 in #87
  • OpenAIChat service, getHostPaymentQR and Reservation Cancellation by @Prakhar896 in #88
  • Added endpoints for account profile picture and fetching of users for admins by @JunHammy in #85
  • Uploading of images for messaging by @nicholascheww in #86
  • Hotfix: BootCheck OPENAI_API_KEY Check by @lincoln0623 in #93
  • MakanBot API, conversationHistory and enhanced approximate address calculation by @Sadliquid in #91

New Contributors

Full Changelog: https://github.com/MakanMatch/Backend/commits/v0.1