the-road-to-graphql/fullstack-apollo-express-postgresql-boilerplate
the-road-to-graphql/fullstack-apollo-express-postgresql-boilerplate has 1,208 GitHub stars and 257 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 08:24 UTC. Last push 2020-06-12.
💥 A sophisticated GraphQL with Apollo, Express and PostgreSQL boilerplate project.
What you can do
- Queries, Mutations, Subscriptions
- cursor-based Pagination
- entities: users, messages
- powered by JWT and local storage
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalfullstack-apollo-express-postgresql-boilerplate
A full-fledged Apollo Server with Apollo Client starter project with React and Express. Read more about it in this tutorial to build it yourself.
Family of universal fullstack repositories:
Server Applications:
Client Applications:
Features of Client + Server
- React (create-react-app) with Apollo Client
- Queries, Mutations, Subscriptions
- Node.js with Express and Apollo Server
- cursor-based Pagination
- PostgreSQL Database with Sequelize
- entities: users, messages
- Authentication
- powered by JWT and local storage
- Sign Up, Sign In, Sign Out
- Authorization
- protected endpoint (e.g. verify valid session)
- protected resolvers (e.g. e.g. session-based, role-based)
- protected routes (e.g. session-based, role-based)
- performance optimizations
- example of using Facebook's dataloader
- E2E testing
Installation
git clone [email protected]:the-road-to-graphql/fullstack-apollo-express-postgresql-boilerplate.gitcd fullstack-apollo-express-postgresql-boilerplatetouch .envnpm install- fill out .env file (see below)
- start PostgreSQL database
npm start- visit
http://localhost:8000for GraphQL playground
.env file
Since this boilerplate project is using PostgreSQL, you have to install it for your machine and get a database up and running. You find everything for the set up over here: Setup PostgreSQL with Sequelize in Express Tutorial. After you have created a database and a database user, you can fill out the environment variables in the server/.env file.
DATABASE=mydatabase
DATABASE_USER=postgres
DATABASE_PASSWORD=postgres
SECRET=asdlplplfwfwefwekwself.2342.dawasdq
The SECRET is just a random string for your authentication. Keep all these information secure by adding the .env file to your .gitignore file. No third-party should have access to this information.
Testing
- adjust
test:run-servernpm script withTEST_DATABASEenvironment variable in package.json to match your testing database name- to match it from package.json:
createdb mytestdatabasewith psql
- to match it from package.json:
- one terminal: npm run test:run-server
- second terminal: npm run test:execute-test
Want to learn more about React + GraphQL + Apollo?
- Don't miss upcoming Tutorials and Courses
- Check out current React Courses
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
458,826 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,475 starsreact/react
The library for web and native user interfaces.
252,467 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,625 stars