Tools | Technologies | How To Run | License
- VSCode: Code editor
- Insomnia: REST client
- Docker: Container virtualization
- DBeaver: PostgreSQL client
- Ethereal: Fake SMTP service to test email in development
- MongoDB Compass: GUI for MongoDB
- Amazon SES: Email service in production
- Amazon S3: File upload in production
This project is being developed with the following technologies:
- TypeScript: Programming language
- Node.js: Server-side JavaScript runtime environment
- Express: Web framework for Node.js
- ESLint, Prettier & EditorConfig: Code standardization and formatting
- date-fns: Date manipulation
- uuidv4: Generation of Universally unique identifiers
- PostgreSQL: Relational database management system
- TypeORM: ORM for TypeScript
- reflect-metadata: Metadata Reflection
- bcryptjs & JWT: User Authentication
- TSyringe: Dependency injection
- Jest: Tests in JavaScript/TypeScript
- Nodemailer: Email sending
- Handlebars: Email templates
- MongoDB: Non-relational database management system
- celebrate: A joi validation middleware for Express
- dotenv: Environment variables management
- class-transformer
- aws-sdk
- mime
- Redis
- ioredis: Redis client for Node.js
- node-rate-limiter-flexible
- Git
- Node.js
- Yarn
- Docker
- Environment variables in .env file
- TypeORM configuration in ormconfig.json
- Create a connection with Postgres and create a database "gostack_gobarber"
- Run migrations (yarn typeorm migration:run)
- Run a container using PostgreSQL Image
- Run a container using MongoDB Image
- Run a container using Redis Image
From your command line:
# Clone this repository
$ git clone https://github.com/mattheuseinloft/gobarber-api
# Move to the application directory
$ cd gobarber-web
# Install dependencies
$ yarn
# Start the backend server
$ yarn dev:server
This project is under the MIT license. See the LICENSE for more information.
Made with 💙 and ☕ by Mattheus Einloft