# common-cents-api REST API for expense tracking and budgeting. ## Project setup > Note: use no less than a currently supported LTS version of Node. Install dependencies: ```bash npm install ``` ## Run Locally Start the API on [localhost:3000](http://localhost:3000) ```bash npm run start:dev ``` Default port (`3000`) can be changed by setting the `PORT=xxxx` environment variable. ### Database There are two databases that are supported: - Postgres (recommended) - SQLite (default for simplicity) For simplicity SQLite is used as the database in the `default`/`unconfigured` state. Using Postgres is pretty simple, by default the API is looking for a locally running instance, which can be satisfied by running the following `docker` container: ```bash docker run --name common-cents-db -e POSTGRES_USER=common-cents -e POSTGRES_PASSWORD=CommonCents_123! -p 5432:5432 -d postgres ``` To specify Postgres as the database, set the `DB_TYPE=postgres` environment variable. Alternatively, an external Postgres can be configured through additional environment variables. To simplify all of this, use an `env`file placed in the root directory (`common-cents-api/.env`): ```text # .env # Type 'sqlite' or 'postgres' (if not set sqlite will be used) DB_TYPE=sqlite # Sync should be false for production DB_SYNC=true # Postgres overrides PG_HOST=localhost PG_PORT=5432 PG_USER=common-cents PG_PASS=CommonCents_123! ``` ## Bruno The included `bruno` folder contains a collection of calls to make it more convenient to interact with the API. Local calls assume the default NestJS port (`3000`) is being used. ### What's Bruno? [Bruno](https://www.usebruno.com/) is alternative to Postman, unlike Postman it's fully open source, requires no subscription or account and collections are easily version controlled. ## Resources Check out a few resources that may come in handy when working with NestJS: - Visit the [NestJS Documentation](https://docs.nestjs.com) to learn more about the framework. - For questions and support, please visit our [Discord channel](https://discord.gg/G7Qnnhy). - To dive deeper and get more hands-on experience, check out our official video [courses](https://courses.nestjs.com/). - Deploy your application to AWS with the help of [NestJS Mau](https://mau.nestjs.com) in just a few clicks. - Visualize your application graph and interact with the NestJS application in real-time using [NestJS Devtools](https://devtools.nestjs.com). - Need help with your project (part-time to full-time)? Check out our official [enterprise support](https://enterprise.nestjs.com). - To stay in the loop and get updates, follow us on [X](https://x.com/nestframework) and [LinkedIn](https://linkedin.com/company/nestjs). - Looking for a job, or have a job to offer? Check out our official [Jobs board](https://jobs.nestjs.com).