- XDebug v3+ inside Docker (e.g. php:7.3-apache Docker image)
- Running Docker v20.10+
- VSCode with PHP Debug Extension (Felix Becker)
- Using Docker Compose for orchestration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| app.post('/login', function(req, res) { | |
| console.log(res); | |
| passport.authenticate('local', function(err, user) { | |
| if (req.xhr) { | |
| //thanks @jkevinburton | |
| if (err) { return res.json({ error: err.message }); } | |
| if (!user) { return res.json({error : "Invalid Login"}); } | |
| req.login(user, {}, function(err) { | |
| if (err) { return res.json({error:err}); } | |
| return res.json( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const publicPath = 'public'; | |
| // Node os module | |
| // The os module provides a number of operating system-related utility methods. | |
| // It can be accessed using: | |
| const os = require('os'); | |
| // Using a single monolithic configuration file impacts comprehension and | |
| // removes any potential for reusability. | |
| // As the needs of your project grow, you have to figure out the means to manage | |
| // webpack configuration more effectively. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // https://github.com/mehiel/router/blob/58c7aa4d0be87b6c4aad9643f168058f42eafcd7/src/lib/utils.js#L261 | |
| // makeCancelable as in https://reactjs.org/blog/2015/12/16/ismounted-antipattern.html | |
| const makeCancelable = promise => { | |
| let hasCanceled_ = false; | |
| const wrappedPromise = new Promise((resolve, reject) => { | |
| promise.then( | |
| val => (hasCanceled_ ? reject({ isCanceled: true }) : resolve(val)), | |
| error => (hasCanceled_ ? reject({ isCanceled: true }) : reject(error)) | |
| ); | |
| }); |
The following table outlines the detailed functional requirements of The Urlist website.
| Requirement ID | Description | User Story | Expected Behavior/Outcome |
|---|---|---|---|
| FR001 | Creating a New URL List | As a user, I want to be able to start a new, empty list so I can begin adding URLs. | The system should provide a clear way for the user to initiate the creation of a new list, potentially presenting an empty list view or an "add new list" button. |
| FR002 | A |