Awesome
<img src="assets/logo.png" width="120" height="120"> <img align="right" src="assets/heroku.png" width="20%">
Microservice for client <u>Dads</u> powered with GraphQL engine by Apollo GraphQL.
Application
- Base URL: https://dads-engine.herokuapp.com
- Deployment platform: Heroku
- DBaaS provider: JawsDB (MySQL - Kitefin 😂)
Stacks
- Apollo GraphQL - The GraphQL promoter.
- JsonWebToken - JWT authenticator.
- Node.js - The runtime environment.
- Prisma - ORM for MySQL.
Architecture
<img src="assets/architecture.png">
How to run
- Install dependencies for local
node_modules
.
npm install
- Generate Prisma Client (experimental).
npx prisma generate --schema src/database/schema.prisma
- Setup your local MySQL database and retrieve the URL. The URL placeholder will be:
mysql://USER:PASSWORD@HOST:PORT/DATABASE,
for example: mysql://root:1234@127.0.0.1:3306/dads
Note: If you don't set the password, you may omit the :1234
part.
<br/>
<br/>
- Create new
.env
file in the root project's root folder, then set:
DATABASE_URL=[MYSQL_DATABASE_URL]
JWT_VERIFICATION=[SHARED_KEY] (see Contributing section 👇)
- Run the application.
npm start
- The default port for the application should be
4000
(you may configure it too). Now you can visit:
http://localhost:4000
Contributing
Let's get in touch if you're interested in contributing. Fork it, submit your PR.<br/> Also feel free to open new issue, request features, or any kind of your support (join stargazers ⭐️ | treat me coffee 😁).