Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vulcanjs/vulcan-express
Vulcan backend, based on Express
https://github.com/vulcanjs/vulcan-express
express graphql mongodb nodejs typescript
Last synced: 12 days ago
JSON representation
Vulcan backend, based on Express
- Host: GitHub
- URL: https://github.com/vulcanjs/vulcan-express
- Owner: VulcanJS
- Created: 2021-06-28T06:56:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-03T12:57:49.000Z (about 2 years ago)
- Last Synced: 2024-05-01T13:54:36.331Z (7 months ago)
- Topics: express, graphql, mongodb, nodejs, typescript
- Language: TypeScript
- Homepage: vulcan-express.vercel.app
- Size: 376 KB
- Stars: 2
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Vulcan Express
Vulcan Express helps you build GraphQL-based applications with Express.
## Need a full-stack setup?
You may also like our [Next.js starter](https://vulcan-next.vercel.app/)
## What's in the box?
Vulcan Express provides:
- A GraphQL API endpoint set up with Apollo Server, so you can start coding back-end features immediately.
- Schema-based helpers and hooks to quickly generate and consume your own GraphQL API.[Join the Slack and meet Vulcan contributors](http://slack.vulcanjs.org/)
[Check the full documentation](https://vulcan-docs.vercel.app)
## A word about Vulcan.js aka Vulcan Meteor
You can't teach an old dog new tricks! Vulcan Express is a port of "Vulcan.js", the Meteor framework from [Sacha Greif](https://sachagreif.com/). It inherits years of experience, with a modernized architecture that replaces Meteor by Express (+ optionnaly React or Next.js).
---
## Install and run in 5 minutes
```sh
git clone -b main https://github.com/VulcanJS/vulcan-express
cd vulcan-express
yarn
yarn run dev
```Open [http://localhost:3000](http://localhost:3000) in your browser.
## Setup your own git repository
When creating your own application, you'll want to host the code on your own Git repository (on GitHub, BitBucket, etc.).
### Point git to your own repository
Rename "origin" to "upstream", so you can use your own git repository as the main "origin", and Vulcan Express official repo as "upstream".
```sh
git remote rename origin upstream
# Then do what you need to create your own origin remote
# git remote add origin
```---
## Contribute or raise an issue
This starter is **read-only**! Please avoid opening pull requests against it.
All developments [happen in our monorepo "Vulcan NPM" here.](https://github.com/VulcanJS/vulcan-npm)
---
## Next steps
### Roll your own Mongo database
As a default, Vulcan Express will connect to a sample in-memory database.
To create your own application, you'll want to use your own databse.#### 0. I am a Windows user (if using Mac or Linux skip to 1.)
If you use Windows, you might want to either:
- Install [Ubuntu as a dual boot](https://help.ubuntu.com/community/WindowsDualBoot) (virtual machine are technically fine but way slower and could lead to a poor development experience)
- Setup the [Linux subsystem](https://docs.microsoft.com/fr-fr/windows/wsl/install) in order to be able to run [Docker on Windows](https://docs.docker.com/desktop/windows/wsl/)- Install MongoDB using the [Windows installer](https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/)
#### Run a Mongo server using Docker
It will run Mongo in your current terminal, or create and run a Mongo image if it's the first time your run the command.
**Note:** you should always start your database *before* you run the application.
```sh
yarn run start:mongo
```[**See Docker installation instruction for Ubuntu here**](https://docs.docker.com/engine/install/ubuntu/) if you don't have Docker yet.
We advise to use [MongoDB Compass](https://www.mongodb.com/try/download/compass) to visualize your database content.
### Update your app to the latest version of Vulcan Express
**Beware:** Vulcan Express is a boilerplate, the possibility to update automatically is not guaranteed. You may
have to apply the updates by hand, comparing Vulcan Express latest version to your own code. **Always double-check that the merge didn't break your app!**.```sh
# Get the latest version of Vulcan Express locally
git fetch upstream
# Merge to your own code (favouring your own code as a default in case of conflict)
git merge upstream/main -X ours
```---
## They support Vulcan Core, Vulcan Express, Vulcan Next and Vulcan Meteor
### Contributors
This project exists thanks to all the people who contribute.
### Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/vulcan#contribute)]
### Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/vulcan#contribute)]
### Technical supports
They give time and share knowledge to support the project.
---
[![Powered by Vercel](https://www.datocms-assets.com/31049/1618983297-powered-by-vercel.svg)](https://vercel.com?utm_source=vulcan&utm_campaign=oss)