HimanshuNarware / Devlabs

DevLabs is a website where you can search for free tools that are useful for your daily needs. This application is created by the incredible open-source community
https://www.devlabsstore.tech/
163 stars 258 forks source link
bootstrap css dwoc expressjs hacktoberfest2023 hacktomberfest html iwoc2024 javascript kwoc-23 mongodb nodejs open-source reactjs tools

Laptop DevLabs

Welcome to DevLabs, a website where you can search for free tools that are useful for your daily needs. This application is created by the incredible open-source community. On DevLaps, you can discover a collection of free tools that can assist you in various aspects of your life. Moreover, you have the opportunity to contribute to this project by adding more tools to the database.

Check out the live project at DevLabs

DevLaps

🌟 Our Mission

Our website provides a platform for contributors from all over the world to share their ideas in the form of helpful websites that are free to use. It helps us save a ton of time by allowing us to access a list of all the websites in one location. Whether it be a tool or an educational platform, we may discover any type of website here. This makes it a platform for sharing knowledge!


πŸ’» Tech Stack

JavaScript logo HTML5 logo CSS3 logo React.js logo

πŸš€ Quick Start

Contributions are welcome! If you have any ideas, suggestions, or bug fixes, please open an issue or submit a pull request. Make sure to follow the project's code of conduct.


πŸ“¦ Installation

You can clone the project directly from this repo to your local system.

1. Clone the Repo

git clone https://github.com/username/Devlabs.git

2. Install Dependencies

npm install

3. Start Development Server

npm start
#or
npm run dev

4. Create Backend Environment

MONGODB_URI=<mongodb connection uri for the database>
PORT=<port number on which backend is running>
FRONTEND_URL=<url of the frontend>
MAIL=<email from which to send mail to self>
PASSWORD=<passkey corresponding to above mail>

5. Create Frontend Environment

All the environment variables for react must be prefixed with REACT_APP_.

REACT_APP_BACKEND=<url of the backend>

6. Create a New Branch

git checkout -b YourBranchName

7. Make Your Changes to the Source Code

To add a new tool:

Go to src > DB > product.json & add your code

{
    productName: "< App_Name >",
    category: "remote | resume | tweet | ai | ethical | movies | extensions | tools",
    image: "< Image-Url >",
    link: "< Link_to_the_website >",
    description: "< Description of product >"
},

8. Stage Your Changes

⚠️ Make sure not to commit package.json or package-lock.json file

⚠️ Make sure not to run the commands git add . or git add *


Instead, stage your changes for each file/folder specifically.

git add "<files_you_have_changed>"

9. Commit Your Changes

git commit -m "<your_commit_message>"

10. Push Your Local Commits to the Remote Repository

git push origin YourBranchName

11. Create a Pull Request

Create a Pull Request!

Let's Collaborate and Make DevLabs Even Better! πŸ’»πŸŒŸ

✨ Features

  1. User Authentication: Secure user registration and login using JWT. OAuth integration for social logins (Google, Facebook).

  2. User Profiles: Customizable user profiles. Profile picture upload and bio section.

  3. Tool Rating & Reviews Users can rate and review tools. Aggregate ratings for each tool displayed.

  4. Favorites & Bookmarking Users can bookmark their favorite tools. Quick access to bookmarked tools from the profile.

  5. Tool Categories & Tags Tools categorized for easy browsing. Tagging system for quick filtering and searching.

  6. Advanced Search Search tools by name, category, or tags. Filter results by ratings and reviews.

  7. Responsive Design Fully responsive design for mobile, tablet, and desktop.

  8. Notifications Email notifications for new tools, reviews, and updates.

  9. Admin Dashboard Manage users, tools, and reviews. Analytics on tool usage and user engagement.

  10. Documentation Comprehensive documentation for developers. API documentation for integrating with other platforms.

🌍 Community

πŸ† Contributors

Recognize the individuals who have contributed to the project. You can use tools like All Contributors to automatically generate a list of contributors.

npx all-contributors-cli add <username> <contribution>