- Create and save notes
- Set a word count goal
- Set a time limit while writing
- Randomly generate words for inspiration
- React/React Hooks
- React Router
- Context API
- CSS Modules
- Apollo Client
- GraphQL
- NodeJS
- Express
Boy oh boy. Developing WriteOn has been quite the learning experience. Despite its minimal exterior, WriteOn has opened my eyes to the true complexity of websites and how the pieces are supposed to fit together. On many occasions, things got a little overwhelming and I couldn’t possibly see myself completing it in its entirety. I figured I'd get bored with it and hop to the next thing. But I’m glad to say that I’ve proven myself wrong, and that it’s now finished! I use the word “finished” lightly here because there will always be features that I want to add to it, or weird little bugs that I’ll catch. But woo hoo, this is something for me to celebrate 🥳
- Clone this repo.
- Navigate to the server folder and install the npm packages:
cd server && npm i
- Create a
.env
file with the following environment variables:MONGO_USER
for your MongoDB username (you will need a MongoDB database)MONGO_PASSWORD
for your MongoDB passwordCLIENT_DOMAIN
for the domain of the frontend, which should belocalhost:3000
SECRET_JWT_KEY
for the JWTPORT
for the port in which the server will run
- Go to
config/db.js
and change the connection string to your own database's connection string - Start the server
npm start
- Open another terminal, navigate to the client folder, and install the npm packages:
npm i
- After the packages are done installing, fire it up. The following environment variables are needed:
REACT_APP_SERVER_DOMAIN
which is the URL of the server you just startedREACT_APP_CLIENT_DOMAIN
which is the URL of the client, which should belocalhost:3000
REACT_APP_SERVER_DOMAIN=SERVERDOMAINHERE REACT_APP_CLIENT_DOMAIN=http://localhost:3000 npm start
- Open up the website at
http://localhost:3000