Skip to content

Commit

Permalink
release 1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mascam97 committed Jul 4, 2022
1 parent cf2f318 commit b7fd552
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 17 deletions.
22 changes: 10 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,25 @@
# Nest API Store
# Nestjs API Store ![Stable](https://img.shields.io/badge/stable-1.0.0-blue) ![Status](https://img.shields.io/badge/status-refactoring-yellow) ![Passing](https://img.shields.io/badge/build-passing-green) ![Docker build](https://img.shields.io/badge/docker_build-passing-green)

_Store of products for a little grocery stores_
_Minimal store products_

## Project goal :goal_net:

**June 2022**: Personal project to learn **JavaScript as Backend with TypeScript and Nestjs**.
**June 2022**: Personal project to learn **JavaScript as Backend with Nestjs and TypeScript**.

### Achievements June 2022 :star2:
## Achievements June 2022 :star2:

As Backend with **PHP - Laravel** I knew everything about an API. So I developed fastly the project by following some online courses, where I achieved:
As Backend with **PHP - Laravel** I knew about APIs. So I developed the project by following some online courses, where I achieved:

- Implemented Validations, Services, environment variables, documentation with **Swagger** and more
- Configured **NoSQL with MongoDB for the Database** and **Mongoose as a ODM**
- Implemented **Authentication with Passport.js - JWT**
- Implemented **Authorization with Guards**

### TODOS
Then I made a [Project definition](project.definition.md) to define the main business logic with a scope that allows scalability. Defining only the necessary resources to fit the **Project goal**.

**As Backend Developer with experience** I just limited myself to follow the courses and learned, so the project is not stable, and for make it stable I needed first:
### TODOS

- **Project definition**: The course create models like brands, categories, users and roles, it defined its own business logic for learning porpuse. From my experience this **business logic should be well defined with a scope that allows scalability**
- **Testing**: The course just got focused on learning porpuse, everything was tested from Postman despite **in a professional work Test-Driven Development is used**. From my experience, everything must have testing to garantee the functionality and not spend so much time in testing from Postman
- **Project scope**: A personal project should have a defined goal with its scope
- **Testing**: After to improve and refactor the project, the testing is essential

## Getting Started :rocket:

Expand Down Expand Up @@ -56,7 +54,7 @@ Create the images and run the services (MongoDB and MongoExpress):
docker compose up
```

Create a database called `nest-api-store` in Mongo Express from 8081 (http://localhost/).
Create a database called `nestjs-store` in Mongo Express from 8081 (http://localhost:8081/).

Finally, defines an `API_KEY` in .env file and run the server

Expand Down Expand Up @@ -98,7 +96,7 @@ $ npm run test:cov
- [Nestjs](https://nestjs.com/): A progressive Node.js framework
- [Swagger](https://swagger.io/): API Documentation & Design Tools for Teams
- [Passport.js with Nestjs](https://docs.nestjs.com/security/authentication): Authentication middleware for Node.js
- [Mongoose with Nestjs](https://docs.nestjs.com/techniques/mongodb):elegant mongodb object modeling for node.js
- [Mongoose with Nestjs](https://docs.nestjs.com/techniques/mongodb): Elegant mongodb object modeling for node.js

### Authors

Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"name": "nest-api-store",
"version": "0.0.1",
"description": "",
"author": "",
"name": "nestjs-api-store",
"version": "1.0.0",
"description": "Minimal store products",
"author": "mascam97",
"private": true,
"license": "UNLICENSED",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion project.definition.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Define the business logic to justify the API logic, tools and functionalities.

## Client requirements

The grocery store "MinimalGroseryStore" needs a system to local products to customers, each customber can create product orders, where a seller can approved and an administrator manage the products.
The store "MinimalStore" needs a system to local products to customers, each customber can create product orders, where a seller can approved and an administrator manage the products.

The store hires a mobile and desktop developer for the frontend, and this store requires your services as **Backend Developer** to build an API that allows:

Expand Down

0 comments on commit b7fd552

Please sign in to comment.