Skip to content

romucci/boilerplate-vue-apollo-graphql-mongodb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

Boilerplate Vue + Vuex + Vuetify + Apollo Client + GraphQL + Express + MongoDB + HTTP/2

Just a simple way of starting your projects with these marvelous technologies!

Installing

Download or clone the repository and access the server folder.

- cd server
- npm install 

Then navigate towards the client folder and wait for dependencies to finish downloading.

- cd client
- npm install

After that you will need to determine your the MongoDB connection string in server.js, as well as the database user and password inside an .env file in the server folder. Furthermore you can setup HTTP/2 with a CERT and KEY files (Use OpenSSL if you do not own a valid certificate).

When everything is ready, you just navigate and start the server and client:

- cd client
- npm start

and

- cd server
- npm start

and VOALA, you are good to go!

Build

If you need or want to build your client app and use just one server, you can perform

- cd client
- npm run build

then you take the output folder and take it to the server-side src folder.

REMEMBER! You have to change the GraphQL uri in the Apollo Client and the WebSocket uri accordingly!

You may also need to set your favicon!

Built With

FRONT-END

  • Vue - Progressive Javascript Framework for UIs
  • Vuex - Flux State Management
  • Vue-router - SPA Routing
  • Vuetify - Material UI Design
  • Vue-Apollo - Integration for Vue/Apollo/GraphQL

BACK-END

  • GraphQL - A Query Language for APIs
  • Express - Fast minimalist web framework for NodeJS
  • NodeJS - JavaScript runtime environment

DATABASE

DEVTOOLS

Authors

  • Lucas Otero - Initial work - Romucci

License

This project is licensed under the MIT License.

Acknowledgments

I have compiled all the different technologies I have learnt to love and put them all together in a simple-to-start-with package! Hope you love it too!