Skip to content

Proficient in TypeScript, Next.js, and Aceternity UI, I've crafted a Dockerized project for seamless local deployment. Pull the Docker image from Docker Hub: "docker pull enayetsyl/knowledge-minaret". Explore and leverage the integrated technologies effortlessly. Thank you for your interest!

Notifications You must be signed in to change notification settings

enayetsyl/KnowledgeMinaret

Repository files navigation

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

Introduction

Introducing "Knowledge Minaret," a dynamic web application built on Next.js, utilizing the comprehensive Aceternity UI framework to deliver a seamless user experience. Our platform serves as a beacon of knowledge, offering a rich repository of Islamic literature, scholars, websites, study circles (halaqa), quizzes, and more. With an intuitive interface and robust functionality, Knowledge Minaret empowers users to explore, learn, and deepen their understanding of Islamic teachings and heritage. Whether you're a seeker of knowledge or a seasoned scholar, join us on a journey of enlightenment with Knowledge Minaret.

Tech Used

The "Knowledge Minaret" web application leverages a variety of cutting-edge technologies to deliver a seamless and immersive user experience. Here's an overview of the key technologies used in the project:

  • Next.js: The project is built on Next.js, a popular React framework that provides server-side rendering, static site generation, and other powerful features for building modern web applications.

  • Aceternity UI: The entire user interface is crafted using the Aceternity UI framework, ensuring a sleek and responsive design across all devices.

  • React: React is utilized for building the interactive components and managing the application's state, allowing for a dynamic and engaging user experience.

  • Three.js: Three.js, along with related libraries such as @react-three/fiber and @react-three/drei, is employed for creating stunning 3D visualizations and effects, enhancing the overall aesthetic appeal of the application.

  • tsParticles: tsParticles is utilized for adding customizable particle animations and effects to the interface, creating a visually captivating environment for users to explore.

  • Tabler Icons: Tabler Icons provides a rich collection of high-quality icons used throughout the application, enhancing the clarity and intuitiveness of the user interface.

  • Framer Motion: Framer Motion is employed for creating smooth animations and transitions, enhancing the interactivity and polish of the user interface.

  • Tailwind CSS: Tailwind CSS is used for styling the components, offering a utility-first approach that simplifies the design process and promotes consistency across the application.

  • Sonner: Sonner is utilized for managing audio playback and integration, allowing for seamless integration of audio elements within the application.

  • TypeScript: TypeScript is chosen as the programming language for the project, providing static typing and improved developer tooling for increased productivity and code quality.

By harnessing the power of these advanced technologies, Knowledge Minaret delivers a sophisticated and feature-rich platform for users to explore, learn, and engage with Islamic knowledge and resources in an innovative and immersive manner.

Folder Structure

The "Knowledge Minaret" project follows an organized folder structure to maintain clarity and scalability:

  • components: This folder contains reusable components used throughout the application. It also holds components specific to the home page, while the ui subfolder contains Aceternity UI components.

  • route: Components related to the remaining three routes are stored in respective route folder. Each route folder has its own components.

  • constants: The index.ts file in this folder stores all the constants used in the project, ensuring centralized management and easy access to project-wide values.

  • types: This folder contains the types.ts file, which defines all the types used in the project. Centralizing types improves code readability and maintainability.

  • public: Images and other static assets are stored in this folder, making them easily accessible to the application.

  • data: Necessary JSON data files are stored in this folder, providing structured data for the application's functionality.

  • utils: The cn function for Aceternity UI is stored in this folder, providing utility functions specific to the project.

Clean Code Practices

  • Organized Folder Structure: The project follows a clear and logical folder structure, grouping related files together for easy navigation and maintenance.

  • Separation of Concerns: Components are organized into separate folders based on their functionality and usage within the application, promoting modularity and reusability.

  • Centralized Constants and Types: Constants and types are centralized in dedicated folders, reducing duplication and ensuring consistency throughout the codebase.

  • Descriptive Naming: File and folder names are chosen to be descriptive and meaningful, making it easier for developers to understand their purpose and contents.

  • Code Readability: Careful attention is paid to formatting, indentation, and commenting to ensure code readability and comprehension.

  • Use of Reusable Components: Reusable components are stored in separate folders and are designed to be easily adaptable and reusable across different parts of the application.

By adhering to these clean code practices and maintaining a well-organized folder structure, the "Knowledge Minaret" project aims to enhance code maintainability, readability, and scalability, ultimately resulting in a more efficient and sustainable development process.

Design Section

The design of the "Knowledge Minaret" web application combines the robust capabilities of Aceternity UI with customizations tailored to meet the project's specific requirements. Leveraging the power of React Three Fiber and Framer Motion, the design achieves a harmonious balance between functionality, aesthetics, and interactivity.

  • Aceternity UI Integration

Out of the 42 components available in Aceternity UI, 24 have been thoughtfully incorporated into the website. While some components are used as-is, many have undergone significant customization to align with the unique needs of the project. This approach ensures that the design remains consistent with the Aceternity UI framework while also allowing for flexibility and adaptation to the project's design goals. React Three Fiber for 3D Animation The integration of React Three Fiber adds an extra dimension to the design, introducing captivating 3D animations and visualizations that enhance the overall user experience. These dynamic elements serve to engage and captivate users, providing an immersive journey through the content and reinforcing key concepts and themes.

  • Framer Motion for Enhanced Design

Framer Motion is extensively utilized throughout the design to create fluid and expressive animations, transitions, and micro-interactions. By leveraging Framer Motion's capabilities, the design achieves a level of polish and sophistication that elevates the user interface, making interactions intuitive and delightful.

  • Customizations for Project Needs

While Aceternity UI provides a solid foundation, customizations have been made to ensure that the design aligns closely with the project's goals and branding. These customizations range from color schemes and typography choices to layout adjustments and component styling, resulting in a cohesive and visually appealing design that reflects the unique identity of the "Knowledge Minaret" web application.

Conclusion

Through the strategic integration of Aceternity UI components, React Three Fiber for 3D animation, and Framer Motion for enhanced design, the "Knowledge Minaret" web application achieves a design that is both visually striking and functionally robust. By combining the best of these technologies and customizing them to suit project needs, the design sets the stage for an engaging and immersive user experience, inviting users to explore and discover the wealth of knowledge offered by the platform.

Project Documentation - https://md-enayetur-rahman.gitbook.io/knowledge-minaret-documentation/ Live Link - https://knowledge-minaret.vercel.app/ Linkedin Link - https://www.linkedin.com/in/md-enayetur-rahman/

About

Proficient in TypeScript, Next.js, and Aceternity UI, I've crafted a Dockerized project for seamless local deployment. Pull the Docker image from Docker Hub: "docker pull enayetsyl/knowledge-minaret". Explore and leverage the integrated technologies effortlessly. Thank you for your interest!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages