MBZ Chroma is a platform that showcases the best free UI resources for developers. Users can explore a curated list of resources or request new ones to be featured on the site. All requests are reviewed by an admin before approval.
You can check out the live website here: MBZ Chroma
- Browse UI Resources: A collection of free UI resources for developers.
- Request New Resources: Users can sign in and submit new resources by providing the following:
- Title
- Description
- Link
- A screenshot will be generated automatically using the Screenshotmachine API.
- Admin Review Process: All submitted resources go through an admin review. Once approved, the resource is added to the featured list on the site.
- Next.js: React framework for building fast web applications.
- React.js: A JavaScript library for building user interfaces.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- Convex (BaaS): Backend-as-a-Service for managing the app’s data and requests.
- Clerk: User authentication and session management.
- Cloudinary: Manages and delivers images for the site.
- Screenshotmachine API: Automatically generates screenshots of submitted resources' URLs.
- Shadcn UI: A modern, customizable UI component library.
- React Hook Form: Handles form submissions and validation.
- Zod: A TypeScript-first schema declaration and validation library.
- Bun: Bun is an all-in-one JavaScript runtime & toolkit designed for speed.
To get started locally, follow these steps:
-
Clone the repository:
git clone https://github.com/MasabBinZia/MBZ-Chroma.git
-
Install the dependencies:
cd mbz-chroma bun install
-
Set up environment variables:
Create a
.env.local
file and add the following environment variables:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key> CLERK_SECRET_KEY=<your-clerk-secret-key> NEXT_PUBLIC_CONVEX_URL=<your-convex-url> CONVEX_DEPLOYMENT=<your-convex-deployment> CLOUDINARY_CLOUD_NAME=<your-cloudinary-cloud-name> CLOUDINARY_API_KEY=<your-cloudinary-api-key> CLOUDINARY_API_SECRET=<your-cloudinary-api-secret> CLOUDINARY_FOLDER_NAME=<your-cloudinary-folder-name> SCREENSHOT_API_KEY=<your-screenshotmachine-api-key> NEXT_PUBLIC_ADMIN_EMAIL=<your-admin-email>
-
Run the Convex backend locally:
npx convex dev
This will prompt you to log in with GitHub, create a project, and save your production and deployment URLs in the environment variables.
-
Run the development server:
bun run dev
The app will be available at
http://localhost:3000
.
- Browse Resources: You can browse the featured UI resources from the homepage.
- Sign In: Users need to sign in to request new resources.
- Submit a Resource: After signing in, you can fill out a form to submit the following details:
- Title
- Description
- Link
- Admin Review: The submitted resource will be reviewed by the admin. If approved, it will appear on the site.
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by Masab Bin Zia