Ceramics Arena is a full-stack web application for showcasing and selling ceramics and pottery items. It provides users with various features such as authentication, product management, and a visually appealing user interface.
- Authentication: Users can log in using Google, GitHub, or email and password authentication.
- Product Management: Logged-in users can add, update, and delete their own products.
- Filtering: Users can filter products based on customization criteria.
- Light and Dark Mode: The website supports both light and dark modes for user preference.
- Responsive Design: The website is designed to be fully responsive and accessible on all devices.
- Slider: The homepage features a slider showcasing featured products.
- Top Products: The homepage also displays the top 6 products.
- Categories: Users can explore products by category.
- Customer Reviews: The homepage includes customer reviews.
- Latest Blog Posts: The homepage features the latest blog posts.
- Newsletter: Users can subscribe to the newsletter for updates.
- React: A JavaScript library for building user interfaces.
- MongoDB: A NoSQL database for storing data in JSON-like documents.
- Express.js: A web application framework for Node.js used for building APIs and web servers.
- Node.js: A JavaScript runtime environment that executes JavaScript code outside a web browser.
- Tailwind CSS: A utility-first CSS framework for rapidly building custom designs.
- DaisyUI: A component library built on top of Tailwind CSS for building accessible and customizable UI components.
- React Simple Typewriter: A simple typewriter effect for React components.
- React Tooltip: React Tooltip is a React library used to create customizable tooltips for React components.
- Sweet Alert: A library for creating beautiful, responsive, and customizable alerts and modals.
-
Create React App: Initialize your React project using Create React App.
npx create-react-app ceramics-arena
-
Install Dependencies:
cd ceramics-arena npm install react-router-dom tailwindcss daisyui
-
Set Up React Router DOM:
- Create routing components for different pages such as Home, All Art & Craft Items, Add Craft Item, My Art & Craft List, and Login.
- Define routes using React Router DOM's
BrowserRouter
,Route
, andSwitch
components.
-
Tailwind CSS Setup:
- Initialize Tailwind CSS by creating a
tailwind.config.js
file:npx tailwindcss init
- Customize Tailwind CSS configuration as needed.
- Initialize Tailwind CSS by creating a
-
DaisyUI Integration:
- Integrate DaisyUI with Tailwind CSS:
// In your tailwind.config.js module.exports = { theme: { extend: {}, }, plugins: [require('daisyui')], }
- Import DaisyUI styles in your main stylesheet:
/* In your main.css or index.css */ @import 'tailwindcss/base'; @import 'tailwindcss/components'; @import 'tailwindcss/utilities'; @import 'daisyui/dist/full.css';
- Integrate DaisyUI with Tailwind CSS:
-
Database Schema: Define MongoDB schemas for storing user data, product information, etc.
-
API Development: Create RESTful APIs for handling CRUD operations on user data, product listings, etc.
- Implement routes for user authentication, product management, and other necessary functionalities.
-
Slider Integration: Integrate a slider library like React Slick or Flickity for showcasing featured products or images.
-
Typewriter Effect: Implement a typewriter effect using React Simple Typewriter for dynamic text animations.
-
Animation with Lottie: Enhance your UI with animations using Lottie React by adding Adobe After Effects animations.
-
Tooltip Functionality: Add tooltips to provide additional information to users using React Tooltip.
-
Alerts with Sweet Alert: Implement Sweet Alert for displaying alerts and notifications for user actions and system messages.
-
Deploy Backend: Deploy your backend server to a platform like Heroku or AWS.
-
Deploy Frontend: Deploy your React app to platforms like Netlify, Vercel, or GitHub Pages.
-
Continuous Integration/Continuous Deployment (CI/CD): Set up CI/CD pipelines for automating deployment processes and ensuring smooth deployment workflows.
- Navigate to the homepage to explore products and other content.
- Log in to add, update, or delete your own products.
- Explore different categories and filter products based on customization criteria.
- Subscribe to the newsletter for updates.
Make sure you have the following installed on your system:
- Git
- Node.js (and npm)
-
Clone the repository:
git clone https://github.com/tazim5032/edu-flow-client.git
-
Navigate to the project directory:
cd edu-flow-client
-
Install the dependencies:
npm install
-
Run the application:
npm start
Your application should now be running on http://localhost:3000
.
Contributions are welcome! Please create a new branch and submit a pull request for any proposed changes.
This project is licensed under the MIT License.