Skip to content

rasyidf/merva

Repository files navigation

MERVA Codebase

Developing a super-app can be complex, especially when managing a large codebase. The MERVA Codebase is designed to simplify this process by providing a modular foundation that supports efficient development.

MERVA is structured as a monolith with modularity in mind, allowing developers to encapsulate each feature into self-contained modules. This means you can start new projects by copying existing module folders into the new project with minimal configuration, enabling faster development and reuse of code.

MERVA uses Bun as the package manager and runtime, delivering improved performance and enhanced tooling for modern JavaScript projects.

Table of Contents

  1. Key Features
  2. Getting Started
  3. Contributing

Key Features

The MERVA Codebase offers the following utilities and features:

  • Modular Structure: Each feature is encapsulated in a reusable module, simplifying future projects.
  • Dynamic Routing: Automatically handle navigation between different modules and features.
  • Feature Flagging: Enable or disable specific features without codebase alterations.
  • Global Error Handling: Standardized error handling across all modules for better stability.
  • Shared Services:
    • Logging: Track performance and log issues efficiently.
    • Notification Service: Real-time communication with users via alerts and notifications.
    • Authentication: Centralized user access and authentication management for all modules.
  • State Management: Maintain a global state while enabling independent module development.
  • API Integration: Streamlined connection to external services and APIs with built-in retry logic.
  • Performance Optimization: Optimized for speed and resource management using Bun.
  • Testing Suite: Unit, integration, and end-to-end testing tools for the entire codebase.
  • Internationalization (i18n): Support for multiple languages and locales out of the box.

Getting Started

To start developing with the MERVA Codebase:

  1. Clone the repository and set up the environment:
    npx degit https://github.com/rasyidf/merva.git
  2. Install dependencies using Bun:
    bun install
  3. Set up your environment variables by following the instructions in .env.example.
  4. Start the development server:
    bun run dev
  5. Begin development by creating and configuring your modules, or reuse existing ones by copying them into your project with minimal setup.

For further details, check the official documentation.

Contributing

We welcome contributions! To contribute:

  1. Review the contribution guidelines.
  2. Fork the repository, make changes, and submit a pull request.
  3. If you have suggestions or issues, feel free to open an issue or contact our maintainers.

Let’s collaborate to continue building a robust and scalable codebase for super-app development!

About

Modular Ecosystem React Vite App

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages