Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucianosants/atomnyy-api
Your no-nonsense supermarket shopping list
https://github.com/lucianosants/atomnyy-api
api-rest backend docker docker-compose jwt-authentication list nestjs nodejs postgresql shoping shoping-list supermarket typeorm typescript
Last synced: 7 days ago
JSON representation
Your no-nonsense supermarket shopping list
- Host: GitHub
- URL: https://github.com/lucianosants/atomnyy-api
- Owner: lucianosants
- License: mit
- Created: 2024-09-04T19:20:20.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-10T18:46:04.000Z (29 days ago)
- Last Synced: 2024-10-16T23:08:15.053Z (22 days ago)
- Topics: api-rest, backend, docker, docker-compose, jwt-authentication, list, nestjs, nodejs, postgresql, shoping, shoping-list, supermarket, typeorm, typescript
- Language: TypeScript
- Homepage:
- Size: 144 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Atomnyy API
![NodeJS](https://img.shields.io/badge/node.js-6DA55F?style=for-the-badge&logo=node.js&logoColor=white)
![NestJS](https://img.shields.io/badge/nestjs-%23E0234E.svg?style=for-the-badge&logo=nestjs&logoColor=white)
![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)
![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white)
![Jest](https://img.shields.io/badge/-jest-%23C21325?style=for-the-badge&logo=jest&logoColor=white)
![JWT](https://img.shields.io/badge/JWT-black?style=for-the-badge&logo=JSON%20web%20tokens)
![Swagger](https://img.shields.io/badge/-Swagger-%23Clojure?style=for-the-badge&logo=swagger&logoColor=white)
Atomnyy API is an application built with **Nest.js** and **PostgreSQL** to serve the main [Atomnyy - Lista de Compras](#). A straightforward, no-nonsense app to help you organize your supermarket shopping in a simple, direct, and intuitive way.## Technologies
- Node.js
- Nest.js
- TypeScript
- TypeORM
- PostgreSQL
- Docker and Compose
- Swagger
- Jest## Deployment
There is a dedicated **Dockerfile** and **docker-compose** setup to accommodate deployment on various hosting platforms.## Development
### Requirements
- **Node.js**
- **Docker** and **docker-compose**
- **Dev Containers** Visual Studio Code extension **(optional)**To run the project locally, ensure you have [Node.js](https://nodejs.org/en), [Docker and docker-compose](https://www.docker.com/) installed and configured on your machine.
### To start **local development**, run:
```shell
docker compose -f .devcontainer/docker-compose.yml up -d
docker compose -f .devcontainer/docker-compose.yml exec api sh bin/setup
docker compose -f .devcontainer/docker-compose.yml exec api sh bin/dev```
These commands will spin up the necessary **containers** and **images** to run the application in **development mode**, create **database migrations**, and **start** the **Nest.js development server**. After that, access the **API** at `localhost` on port `3000`.
## Dev Containers
In **IDEs** that support **Development Containers**, such as **Visual Studio Code**, you can start the application locally using the [Dev Containers extension](https://containers.dev/supporting#dev-containers). The build commands should run automatically, utilizing the **integrated terminal**.## Running Tests
**Unit** and **e2e testing** support is available in this project. You can run the following commands:```shell
docker compose -f .devcontainer/docker-compose.yml exec api sh bin/test-unit
docker compose -f .devcontainer/docker-compose.yml exec api sh bin/test-e2e```
## Contributing
See something that can be added or improved? Feel free to **contribute**! You can **fork** the project and submit a **pull request**.
## License
This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.