Your favorite comics emailed to you each morning.
- Typescript with ESLint
- Vercel CLI for deployment
- Vercel Next.js for SSR (server-side-rendered) React framework and routing
- Apollo Client (GraphQL) library for communication with server
- SCSS modules
- Typescript with ESLint
- Vercel CLI for deployment
- Vercel-managed node.js server
- Apollo Server (GraphQL) for communication with client
- MongoDB Atlas for our database cluster
- Mongoose for interacting with MongoDB database
- ElasticEmail for sending emails
- Clone the repo with
$ git clone https://github.com/elijahcarrel/inbox-comics.git
. $ cd ./inbox-comics
- Install tools you might or might not already have.
- Install Homebrew by following the instructions at https://brew.sh.
- Install npm with
$ brew install npm
. - Install MongoDB with:
$ brew tap mongodb/brew
$ brew install mongodb-community
- Install Vercel CLI with
$ npm install -g vercel
- Install client package dependencies with
$ npm install
. - Install api package dependencies with
$ cd ./api
and$ npm install
. - Get a staging database dump from the server by following the instructions on https://cloud.mongodb.com after logging in with your credentials.
- Start the mongo daemon with
$ brew services start mongodb-community
. By default, homebrew will now keep this service alive at all times, even after a restart. To stop it at any time, you can run$ brew services stop mongodb-community
.
$ vercel login
.- Enter username and password to log into the inboxcomics Vercel team.
$ vercel dev
.- App is now running on http://localhost:3000, using a local database and production elasticemail credentials.
$ vercel
- App is now deployed to https://app.inboxcomics.vercel.app, using the staging database and production elasticemail credentials.
$ vercel --prod
- App is now deployed to https://www.inboxcomics.com.
$ mongo ic
. Note that this connects to your local database, not to the production one.- In the database console, you can run commands like
> db.users.find({});
or> db.syndications.findOne({ identifier: "calvinandhobbes" });
- The URL and password for the production and staging database are, of course, secret. Ask @elijahcarrel or find them at the Vercel environment variables settings.