VaibhavArora314 / StyleShare

A simple web based platform where users can easily create, explore, and share Tailwind CSS components and designs with fellow users.
https://style-share.vercel.app
MIT License
33 stars 54 forks source link
expressjs gssoc gssoc24 mongodb prisma reactjs recoiljs tailwindcss typescript

Style Share

A simple web-based platform where users can easily create, explore, and share Tailwind CSS components and designs with fellow users.


Make sure you star the repository and show your love to us💗


## Why to Open Source Contributing in open source increases your opportunities to work with different projects and mentors, getting to know various insights and ideas. It is a platform where contributors grow together with a construvtive and a positive attitude. This repository also provides one such platforms where contributers come over and put their ideas and make our website as interactive as much they can! ![GitHub issues](https://img.shields.io/github/issues/VaibhavArora314/StyleShare) ![GitHub forks](https://img.shields.io/github/forks/VaibhavArora314/StyleShare) ![GitHub pull requests](https://img.shields.io/github/issues-pr/VaibhavArora314/StyleShare) ![GitHub Repo stars](https://img.shields.io/github/stars/VaibhavArora314/StyleShare) ![GitHub contributors](https://img.shields.io/github/contributors/VaibhavArora314/StyleShare)


Project Description

Style Share is a collaborative platform designed to streamline the process of creating and sharing Tailwind CSS components. Users can explore a wide range of design components created by the community, contribute their own, and engage with fellow designers and developers to enhance their web development projects.

TechStack

Screenshots

alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text alt text

Video

https://github.com/VaibhavArora314/StyleShare/assets/142779809/bb8969a2-90b2-431a-b95a-a87df61bb39a

Setting Up on your machine

  1. Go to the backend folder and create a .env file similar to .env.example

          setup .env file

       I. DATABASE_URL="mongodb+srv://<username>:<password>@<cluster-name>/syleshare" (replace <username>, <password>, and <cluster-name> with your actual MongoDB credentials)

       II. JWT_SECRET="secret"

       III. PORT=3001

       IV. EMAIL_USER=example@gmail.com (replace with your actual email address)

       V. EMAIL_PASS=lmkgpafolrjudvpc (16-digit password generated in Google, change this with yours)

       VI. SEND_EMAIL=true (If you set it true ,you can able to send email otherwise it wont send)

       VII. API_KEY="your google gemini api key" (replace with your actual Google Gemini API key)

      For getting EMAIL_PASS

       I.EMAIL_PASS Generation video link

       II.Remove spaces and add the password

  1. Run the following commands in the backend folder

    npm install
    npm run build
    npm run dev

    The npm run build cmd will handle the Prisma migrations, and also build the frontend folder which will be served by the express server.

    Possible Problems:

    • Prisma may give error for MongoDB replica set, in such case use Mongodb atlas for the database instead of the local database or start a Mongo docker container with the replica set.
  2. In case you are modifying the frontend and you want hot module reloading, then run the following commands in the frontend directory

    npm install
    npm run dev

    Also, set the default base URL of the backend (don't push this to GitHub) or simply uncomment the following: App.tsx lines 17-18

How to Contribute

We welcome contributions from the community! To contribute:

  1. Fork the repository.
  2. Clone the repository.
    git clone https://github.com/VaibhavArora314/StyleShare.git
  3. Create a new branch.
    git checkout -b your-branch-name
  4. Make your changes.
  5. Commit your changes.
    git commit -m 'Add some feature'
  6. Push to the branch.
    git push origin your-branch-name
  7. Open a pull request.

Our Contributors

License

This project is licensed under the MIT License. See the LICENSE file for more details.