Template

The tech stack that we preferred

The tech stack that we preferred

The tech stack that we work with and why we choose it ?

Project Technology Stack Documentation

Frontend

Astro.js

  • Purpose: Utilized as the core frontend framework for building the project.
  • Features:
    • File-based routing.
    • Supports server-side rendering (SSR) and static site generation (SSG).
    • Integrates seamlessly with other frameworks like React.

React

  • Purpose: Used for creating interactive and dynamic components within the Astro.js framework.
  • Features:
    • Component-based architecture.
    • State management and lifecycle methods.

Styling

Tailwind CSS

  • Purpose: A utility-first CSS framework used for styling.
  • Features:
    • Rapid prototyping with predefined classes.
    • Highly customizable via a configuration file.

Component Library

shadcn/ui

  • Purpose: A pre-built React-based component library for faster UI development.
  • Features:
    • Offers accessible and customizable components.
    • Works seamlessly with Tailwind CSS.

Icons

  • Purpose: Used for visual enhancements and icons across the application.
  • Libraries:
    • Astro Icons: Icon library designed for use in Astro.js.
    • React Icons: A collection of popular icon libraries for React.
    • Lucide Icons: Modern, consistent, and open-source icon library.

State Management

Zustand

  • Purpose: Lightweight state management library for handling global state in the frontend.
  • Features:
    • Minimal boilerplate.
    • Simple and scalable API for managing state.

Data Validation

Zod

  • Purpose: Schema-based data validation library.
  • Features:
    • Runtime validation for form data and API responses.
    • TypeScript integration for type safety.

Backend

Node.js

  • Purpose: Backend runtime environment.
  • Features:
    • Non-blocking, event-driven architecture for handling asynchronous operations.
    • Large ecosystem of libraries and tools.

Hono.js Framework

  • Purpose: Lightweight, high-performance framework for building backend APIs.
  • Features:
    • Minimalistic API design.
    • Excellent for creating RESTful services.

Database

MongoDB

  • Purpose: NoSQL database used for storing application data.
  • Features:
    • Document-oriented storage.
    • Scalable and flexible schema design.

Mongoose

  • Purpose: Object Relational Mapping (ORM) library for MongoDB.
  • Features:
    • Simplifies data modeling and validation.
    • Provides built-in schema and middleware support.

Other Tools

Code Formatting & Linting

  • Prettier: For consistent code formatting.
  • ESLint: For identifying and fixing coding errors.