Application repo for a simple blog application built with Nest.js, TypeScript, React and MongoDB.
This prototype is divided into two separate sections. Namely the Backend ( Built with Nest.js) and the frontend ( Built with React ).
Install TypeScript globally on your machine if you don't have it installed already:
npm install -g typescriptTo easily set up the application, clone this repository which contains directory for both sections of the project ( i.e blog-backend and blog-frontend)
git clone https://github.com/yemiwebby/nest-react-project.gitcd nest-react-projectcd blog-backendnpm installOnce the installation process is complete, create a .env file:
touch .envOpen the newly created file and add the following code:
AUTH0_DOMAIN=YOUR_AUTH0_DOMAIN
AUTH0_AUDIENCE=YOUR_AUTH0_AUDIENCE
Ensure that you replace the YOUR_AUTH0_DOMAIN and YOUR_AUTH0_AUDIENCE placeholder with the appropriate credentials as obtained from your Auth0 dashboard.
Ensure that you have mongoDB installed on your machine before running the application. I have this fully setup on my mac already.
Start mongoDB:
sudo mongodOpen another terminal and still within the blog-backend project directory run the application with:
npm run start:devThis will start the backend application on port 5000. This was modified to avoid confliction with the frontend application which by default will run on port 3000
Open another terminal from the nest-react-project and navigate to the blog-frontend folder to setup the frontend
cd blog-frontend
npm installnpm startCreate a .env file as shown here:
touch .env
Open the file and paste the following code in it:
REACT_APP_AUTH0_CLIENT_ID=YOUR_AUTH0_CLIENT_ID
REACT_APP_AUTH0_DOMAIN=YOUR_AUTH0_DOMAIN
REACT_APP_AUTH0_AUDIENCE=YOUR_AUTH0_AUDIENCE
REACT_APP_AUTH0_REDIRECT_URI=http://localhost:3000
REACT_APP_BASEURL=http://localhost:3000
Replace YOUR_AUTH0_CLIENT_ID, YOUR_AUTH0_DOMAIN and YOUR_AUTH0_AUDIENCE placeholder with your Auth0 credentials.
Finally open your browser and view the application on http://localhost:3000