-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Welcome to the ASE-Project-WeGotThis wiki!
The current state of the website demonstrates that all essential core features are available and functioning properly. Users can authenticate, browse a homepage with various offers, create new offers, and send requests in response to existing ones. Additionally, they have the ability to complete their profile information, view other users along with their ratings and listings, and communicate through email.
Future development efforts can focus on enhancing user engagement and interaction by implementing the following features:
An in-app messaging system to replace the current email-based chat
User following functionality to build a social layer within the platform
A notification system to keep users informed about activity related to their account and interests
Improving the homepage’s filtering and sorting
Further bugs, design choices and logic need to be reevaluated.
For more details, see Project Organization
For more details, seeArchitecture
For more details, see Technologies
Our API documentation is generated using Swagger UI, a widely-used tool for RESTful API visualization and testing. The documentation is based on OpenAPI 3.0 specification, which we maintain in our backend codebase through annotations or YAML/JSON files.
- During development, we run the backend server locally, and the Swagger UI is served at:
http://localhost:8000/api/docs - For project delivery, we exported the API documentation in JSON format and converted it into a Markdown document for easier viewing. For more details, see API
- We containerized our code using docker to ensure a seamlessly start Instruction
bash build.shdocker compose up
- Enter localhost:5173, and the website should be visible
We use end-to-end (E2E) tests to verify the overall functionality of our APIs and the integration between microservices.
- Objective: Ensure that all exposed endpoints behave as expected under success, failure, and edge-case scenarios.
-
Tools:
- Mocha: Test runner
- Chai: Assertion library
- Mochawesome: HTML/JSON report generator
Test Case Design
- List all public API routes (GET/POST/PUT/DELETE).
- For each route, design at least two cases:
- Normal (successful) flow
- Missing/invalid parameters or Authentication/authorization failures
See the detailed test report at (http://htmlpreview.github.io/?https://raw.githubusercontent.com/hafizsheetab/ASE-Project-WeGotThis/master/backend/mochawesome-report/mochawesome.html)
For more details, see Continuous Integration & Deployment