Giter Site home page Giter Site logo

expenseably-api's Introduction


Logo

Expenseably API

API responsible for handling you expenses and incomes without tears or fears.
This API is consumed by Expenseably App Web.

Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About the application
  2. Getting Started
  3. Usage
  4. Docs
  5. Roadmap
  6. License
  7. Contact
  8. Acknowledgments

About the application

Built with

Architecture

The architecture of this project is based on the ideas of clean architecture developed by Robert Martin (a.k.a unclebob`s style).

Clear Architecture

That being said, here are the project modules and how they categorize themselves within the clean architecture:

  • entities (Enterprise Business Rules)

    The entities module contains all entities that will be used along the project. It is divided into four sub-modules:

    • domain: Representation of database schemas
    • dto: Objects that are received and sent along the web
    • exceptions: Just some custom exceptions
    • models: Classes based on the domain but with some database access methods (they are instantiated by Mongoose)
  • services (Application Business Rules):

    The services module contains all the use cases that are used in the project. Currently, all of those functions were implemented to make changes on the Database.

  • controllers (Interface Adapters):

    The controllers module are the interface between the routes and services.

  • middlewares (Frameworks & Drivers):

    The middlewares module contains custom middlewares that will be used by Express.

  • routes (Frameworks & Drivers):

    The routes module contains all the routes implementations to receive HTTP requests.

Getting Started

Prerequisites

  • You need to these programs installed before installing the dependencies:
    • Node.js
    • Docker

Installation

Follow these steps

  1. Install packages
    yarn install or npm install

Usage

Start the API

yarn dev or npm run dev

Test it

curl --request GET 'http://localhost:5000/api/v1/auth'

Docs

After running the API, you can see the full documentation accessing: http://localhost:5000/docs

Roadmap

  • Adds Jest fot unit tests
  • User CRUD

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Profile

Gabriel Mochi - Linkedin - [email protected]

Acknowledgments

expenseably-api's People

Contributors

gabrielmochi avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.