/capella-frontend

Frontend project showcasing best practices with Clean Architecture and Domain-Driven Design applied to a task management application.

Primary LanguageTypeScriptMIT LicenseMIT

Capella Frontend

A frontend project showcasing the implementation of Domain-Driven Design (DDD) and Clean Architecture principles using Vue.js.

Why "Capella"?

The name "Capella" is inspired by one of the brightest stars in the night sky. Just as stars provide guidance in the darkness, this project aims to guide developers through the complexities of modern frontend architecture.

Overview

This project is designed to serve as a practical example for those interested in adopting DDD and Clean Architecture in frontend applications. By structuring the application this way, we aim for modularity, scalability, and maintainability, making it easier to understand, adapt, and expand upon.

Features

  • User registration and authentication.
  • A dashboard providing an overview of user activities.
  • Category listings for items.
  • Modular components for easy UI management.

Project Structure

  • src/: Main source directory.
    • application/: Application layer housing use cases and business logic.
    • assets/: Static assets like images, fonts, and styles.
    • components/: Reusable Vue components.
    • domain/: Domain layer with entities, aggregates, and value objects.
    • infrastructure/: Technical concerns like database or API interactions.
    • pages/: Represents different routes or screens of the app.
    • router/: Manages and defines the app's routing logic.
    • utils/: Utility functions, helpers, and shared logic.

Setup and Installation

  1. Clone the repository:
git clone git@github.com:rodolfo-santos/capella-frontend.git
  1. Navigate to the project directory:
cd capella-frontend
  1. Install dependencies:
npm install
  1. Run the development server:
npm run dev

Contributing

If you wish to contribute to this project, please follow our contributing guidelines.

License

This project is licensed under the MIT License.

Acknowledgements

A special thanks to the community and all contributors. Your feedback and contributions make this project better every day.