An open API service indexing awesome lists of open source software.

https://github.com/varunon9/graphql-express-getting-started

Login Signup implementation with graphql, sequelize and express using MySql database.
https://github.com/varunon9/graphql-express-getting-started

apollo-server-express graphql graphql-tools semantic-ui

Last synced: 6 months ago
JSON representation

Login Signup implementation with graphql, sequelize and express using MySql database.

Awesome Lists containing this project

README

          

## graphql-express-getting-started

Login Signup implementation with graphql, sequelize and express using MySql database.

It is based on following libraries and frameworks-

1. Express.js
2. Ejs template engine
3. Sequelize
4. jQuery
5. Semantic UI
6. JsonWebToken for authentication
7. apollo-server-express
8. graphql-tools

### Folder Structure

1. **bin**: It contains the main file 'www' which starts node server
2. **config**: All the configurable parameters and credentials
3. **data**: json data
4. **logs**: logs dumps here
5. **middlewares**: All the middlewares defined here
6. **models**: Sequelize models (database schema)
7. **modules**: Independent modules used throughout the app are defined here
8. **public**: All the static resources (js, css, images)
9. **routes**: All the routes
10. **services**: These act as middlemen between routes and database. All the database operations is made here.
11. **views**: Contains HTML and .ejs files used for rendering to frontend

### How to install

1. `git clone https://github.com/varunon9/graphql-express-getting-started.git`
2. `cd graphql-express-getting-started`
3. `npm install`
4. `cd public`
5. `bower install`
6. create database 'graphqlStarterApp' in MySql `create database graphqlStarterApp`
7. edit 'username' and 'password' in config.json
8. come back to project directory `cd ..`
9. start app `nodemon bin/www` or `node bin/www`
10. visit localhost:4000 in browser

### Naming Conventions

1. using camelCase for naming variables, functions in javascript
2. using camelCase for naming MySql tables, CSS IDs
3. using hyp-hens for naming CSS classes
4. using under_scores for naming files and folders
5. using UPPERCASE for constants and global variables
6. using PascalCase for naming Javascript classes and database models

### Coding Conventions

1. Line length max 80 characters for Javascript
2. Line length max 120 characters for HTML
3. Standard JS coding conventions- https://www.w3schools.com/js/js_conventions.asp

### Screenshots
| | |
| --- | --- |
|![Home Screen](./screenshots/home.png) | ![Dashboard Screen](./screenshots/dashboard.png)|
|![Login Screen](./screenshots/login.png) | ![Signup Screen](./screenshots/signup.png)|

#### For query/issues create Github issue or contact: varunon9@gmail.com