All Projects → maybachlabs → express-typescript-seed

maybachlabs / express-typescript-seed

Licence: other
Node API seed written in typescript using Express, Sequelize, Passport, and RabbitMQ

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to express-typescript-seed

template-server-nodejs
No description or website provided.
Stars: ✭ 20 (-70.15%)
Mutual labels:  sequelize, supertest
Nodefony Starter
Nodefony Starter Node.js Framework
Stars: ✭ 95 (+41.79%)
Mutual labels:  sequelize, passportjs
todo-list
A practical web application built with Node.js, Express, and MySQL for you to readily record, view, and manage your tasks with an account: Create, view, edit, delete, filter, and sort expenses are as easy as pie 🥧
Stars: ✭ 18 (-73.13%)
Mutual labels:  sequelize, passportjs
chanyeong
👨‍💻 chanyeong's portfolio and blog webpage
Stars: ✭ 39 (-41.79%)
Mutual labels:  sequelize, passportjs
opentelemetry-ext-js
js extensions for the open-telemetry project
Stars: ✭ 122 (+82.09%)
Mutual labels:  rabbitmq, sequelize
b-rabbit
A thread safe library that aims to provide a simple API for interfacing with RabbitMQ. Built on top of rabbitpy, the library make it very easy to use the RabbitMQ message broker with just few lines of code. It implements all messaging pattern used by message brokers
Stars: ✭ 15 (-77.61%)
Mutual labels:  rabbitmq
file-storage-system
一个基于 Go 语言实现的分布式云存储服务,慕课网实战仿百度网盘项目。
Stars: ✭ 149 (+122.39%)
Mutual labels:  rabbitmq
go-amqp-reconnect
auto reconnecting example for github.com/streadway/amqp Connection & Channel
Stars: ✭ 79 (+17.91%)
Mutual labels:  rabbitmq
seckill parent
基于springboot+springcloud的高并发和商品秒杀项目,通过redis,rabbitmq等技术实现秒杀的高并发。
Stars: ✭ 59 (-11.94%)
Mutual labels:  rabbitmq
Distributed-eStore
Ecommerce SPA application with a microservices architecture implemented from scratch. Tech stack - Docker, Consul, Fabio, RabbitMQ, .Net Core, Mediatr, CQRS, React, Redux. .NET Core Microservices template, .NET React Redux, .NET RabbitMQ, .NET Distributed, Docker, .NET Core with Docker.
Stars: ✭ 99 (+47.76%)
Mutual labels:  rabbitmq
formatbot1
Make instant view easily and fast, from any article on the internet in the best messenger ever Telegram
Stars: ✭ 127 (+89.55%)
Mutual labels:  rabbitmq
passport-saml-example
PassportJS SAML example
Stars: ✭ 118 (+76.12%)
Mutual labels:  passportjs
node-dev-server
基于Express,Sequelize、IIS的MVC新手项目
Stars: ✭ 12 (-82.09%)
Mutual labels:  sequelize
fullstack-graphql-angular
Simple Fullstack GraphQL Application with Angular CLI + Redux. API built with Typescript + Express + GraphQL + Sequelize (supports MySQL, Postgres, Sqlite and MSSQL). WebApp built with Angular CLI + Redux + Async Middleware to access the API.
Stars: ✭ 67 (+0%)
Mutual labels:  sequelize
dockerX
Examples of amazing Docker/Docker-Compose/Docker Swarm technologies
Stars: ✭ 17 (-74.63%)
Mutual labels:  rabbitmq
Pepaverse
Pepaverse is an open source social network build with nodejs, mongoDB, passportjs and socket.io
Stars: ✭ 16 (-76.12%)
Mutual labels:  passportjs
Nestjs-Typeorm-Auth
NestJS + Typeorm codebase containing a full authentification system with roles, sessions and email verification.
Stars: ✭ 37 (-44.78%)
Mutual labels:  passportjs
amqpextra
Golang AMQP on steroids. Reliable connection. Publisher. Consumer.
Stars: ✭ 59 (-11.94%)
Mutual labels:  rabbitmq
celery-connectors
Want to handle 100,000 messages in 90 seconds? Celery and Kombu are that awesome - Multiple publisher-subscriber demos for processing json or pickled messages from Redis, RabbitMQ or AWS SQS. Includes Kombu message processors using native Producer and Consumer classes as well as ConsumerProducerMixin workers for relay publish-hook or caching
Stars: ✭ 37 (-44.78%)
Mutual labels:  rabbitmq
rabbitmq-stream-dotnet-client
RabbitMQ client for the stream protocol
Stars: ✭ 58 (-13.43%)
Mutual labels:  rabbitmq

Express Typescript Seed

Node.js with Express 4 written in Typescript

PostgreSQL database under Sequelize ORM

OAuth2 with Passport

Roles based access with Connect Roles

Message brokering with RabbitMQ for running background tasks like sending e-mails and uploading images to S3

Environment based configuration using Dotenv

Integration Testing with SuperTest

Quickstart

npm install -g yarn
yarn install
# install docker https://docs.docker.com/install/
docker stack deploy -c local-infra.yml infra
# connect to postgres via postgres:password@localhost:5432
# create 'seed' user with password 'password'
# create 'seed' database and set the 'seed' user as the owner
cp .env.example .env
yarn run start
# wait for app to start
yarn global add sequelize-cli
sequelize db:seed:all 

Environment Setup

This project uses the Dotenv library to load sensitive data such as database passwords and client secrets.

There is a .env.example file included at the root of this project as an example, rename it to '.env' (.env is not under version control). Update the .env file with the pertinent information for your project.

RabbitMQ

Install and run RabbitMQ with the default settings (or use the provided local-infra.yml in conjunction with docker-compose/swarm)

Database

You will need a PostgreSQL database running on localhost:5432 (or use the provided local-infra.yml in conjunction with docker-compose/swarm)

The setup of PostgreSQL is beyond the scope of this guide. Please reference the Install Guides for help installing PostgreSQL on your machine.

Once PostgreSQL is installed and running, create a new database called seed. Create a new user named seed. Make this user the owner of the newly created database.

Since the tables defined in the entities do not already exist, Sequelize will attempt to build them once you start the server.

Running the app

yarn install
yarn run start

You can also run the app in debug mode and attach a Debugger in Webstorm

yarn run debug

Once the app is running and the tables are created, you can seed the database with the sequelize-cli. Install the sequelize-cli by running

 yarn global add sequelize-cli

then run

sequelize db:seed:all 

Running the tests

yarn run test

Contact

Kevin Kolz - [email protected]

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].