WebDevHub - A place for developers
WebDevHub is designed to be one central place for developers, that offers a variety of tools to help with any developing needs. This includes code formatters, file converters, image compressors etc.
https://webdevhub.herokuapp.com/
A central hub with all the tools a developer might need makes it easier to focus on developing, rather then searching for different sites to find a working tool. WebDevHub eliminates this hassle. The site is open-source, designed to be made by the users. If there a feature you want to add, a bug you want to fix etc, simply open a pull request.
Implemented Features
- Hex to css
filter:
converter - Word Counter
- Lorem Ipsum Generator
- Code Formatter (HTML, CSS, JS, etc.)
Planned Features
- XML - JSON - ymal converter
- Image Converter - UI implemented but needs server-side code to fix
- Color Converter (Hex to RGB etc.)
- URL Shortner
- File Compressors
- Site/code templates.
- Expansion to provide tools for other programming languages (C, C++, Python etc.)
- CSS grid generator
- JWT encoder / decoder
- Link to Regex101
- Colour palette generator from a base colour
- Text & JSON diff
These are only some of the features planned to be added. Check out the Projects page to see a more in-depth board of potential features to be added, or create a pull request and suggest your own feature.
Frameworks Used
How to Contribute
To contribute to the site:
- Clone the repository via terminal or github desktop.
- Run
npm i
to install all needed node packages. - In a terminal window opened in the main project directory, run
npm run devStart
to active nodemon, which will restart the test server whenever a change is made. The server can be acessed atlocalhost:3000
- Create a new file in the
/views
directory titledyour-feature.ejs
and a new JS file in the/public
directory titledyour-feature.js
- Add a new
app.get
request in theserver.js
file, as such:
app.get("/your-feature", (req, res) => {
// Render the page with given paramaters.
res.render("your-feature", { // The name of the .ejs file you created
title: "Your Feature", // The title of the webpage, usually the same as the feature name.
});
});
- Code your feature.
- Add a link to the feature on the home page under a relevant subcategory.
- (Optional) - Credit yourself at the bottom of your feature using this sample code. Have a look here for an example of how it is done.
<!-- User Credit -->
<hr class="credit-hr">
<span class="credit-link">Feature added by <a href="https://github.com/your-username">@your-username</a></span>
- Create a pull request for your new feature.
Rules/Guidelines for contributing
- Try to follow the site's colour scheme.
- Comment your code as you go and use readable variable names. Its hard to debug code when it looks like Latin.
- Dont delete or change other people's code without a good explanation, or your pull-request wont be approved.
We want to make our documentation (including this README) the best it can be. If you have any suggestions, please open an issue.
Image Converter (Not functional)
I tried to make it work but it seems a server-side is needed to process the uploaded file. I added all the HTML, CSS and other Javascript parts so that only the Convert-Format function is required on the server-side.
Add a copy results button to the Code Formatter screen
A copy/select all button for the formatted code would be handy, so the user can just click a button to select their formatted code rather than having to highlight it themselves.
Screenshot of the page
Reskin of home page major components
Made a couple of design changes to the home page and a few backend technical changes.
luna-framework.css
shouldn't be modified; just overwrite any styling in thestyle.css
file if needed,Colour converter
Added a colour converter system.
A HEX, RGB, HSL or HWB colour code can be entered, and will be converted to the four different types, with a little preview showing the result colour.
Individual colour codes can be copied to clipboard.
Create an XML - JSON - ymal conversion system
Create a feature that allows the user to convert the three data types of XML, JSON and ymal from one to the other.
This might be a difficult feature to implement without server-side features, so it may need to be added sometime in the future.
Helpful Links: https://www.delftstack.com/howto/javascript/javascript-xml-to-json/
Create a colour converter
Create a colour converter feature to convert different types. Types should include:
#1f2630
hsl(215, 22%, 15%)
hwb(215 12% 82%)
rgb(31, 37, 46)
Users cant scroll across feature rows on the home page
Non-trackpad users can't scroll across the feature rows on the home page to see links that may be hidden. (Most Mac's allow a swipe on the trackpad to scroll, while mouses don't have this feature.)
Adding a drag click-to-scroll feature to the rows should help fix this. Another solution would be to show the scrollbar and customise it to be uniform across all platforms.
Image Conversion
Sorry for the delay, I have been travelling a lot. I am a beginner developer and tried my best to implement image conversion. Please suggest any changes to be made.
I have used
multer
to upload the file to a buffer andsharp
to convert the format.The only issue I am facing is when the user wants to change the format for the same image without re-uploading, the download doesn't work. It only works if the image is uploaded again. I am out of options on what to do.
Bump mongoose from 6.4.4 to 6.4.6
Bumps mongoose from 6.4.4 to 6.4.6.
Release notes
Sourced from mongoose's releases.
Changelog
Sourced from mongoose's changelog.
Commits
5449ab9
chore: release 6.4.6b8c99cf
Merge pull request #11892 from Automattic/netlify-functions-example2751883
fix testseced2c7
Merge branch 'master' into netlify-functions-example92cb6fb
Merge branch 'master' into vkarpov15/gh-12085422f9da
test(schema): add coverage for callingplugin()
with options2262a77
fix(document): avoid mutating original object passed to $set() when applying ...2e6b064
made requested changesb70a0dc
Merge pull request #12123 from LokeshKanumoori/patch-1086bd9f
fix(query): apply lean transform option to top-level documentDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labels
will set the current labels as the default for future PRs for this repo and language@dependabot use these reviewers
will set the current reviewers as the default for future PRs for this repo and language@dependabot use these assignees
will set the current assignees as the default for future PRs for this repo and language@dependabot use this milestone
will set the current milestone as the default for future PRs for this repo and languageYou can disable automated security fix PRs for this repo from the Security Alerts page.
Create a search system
A search system will make it easier for users to search for a feature they want that they cant find on the homepage. This will be great once the number of supported features on the site greatly increases and it becomes harder to navigate.
#19
Easier way to plan/suggest new features
Currently, any new feature suggestions or ideas are heard through word of mouth by me, and I will then add them to the planned features section of the README or a user creates an issue with a feature suggestion. If I think the site is ready for a feature I put on the README, I will create an issue for it.
It is probably better to save issue creation for bugs, enhancement/improvement suggestions etc. and limit the number of feature requests submitted so it doesn't get clogged up. A better way for users to suggest features is needed for this.
This could include a google doc, emaling me, trello board etc. If you have any ideas, comment them here.
Create a search system
A search system will make it easier for users to search for a feature they want that they cant find on the homepage. This will be great once the number of supported features on the site greatly increases and it becomes harder to navigate.
I will work on this feature, but if you would like to help, that would be great!
Add favourite features
Add a feature that allows the user to favourite features for quick access instead of needing to constantly search for something they might use all the time.
I will work on adding this feature, but some help would be great! Here are my current thoughts:
These two options cause some problems though, as a local JSON file will expose account data and all users favourites to anybody who looks at the repo. A MongoDB database would be great, but it creates problems with API keys being exposed and will make it difficult for users to test any changes involving accounts locally.
If you have any suggestions on how to tackle this problem, leave a comment on the issue!