In this project you will build a Tourio App, the best friend of all travelers: it displays sights you want to visit and lets you edit them.
- Set up a database; use the
lib/db.json
file to insert sample data. - In
pages/api/index.js
, replace theplaces
variable imported fromlib/db.js
with aGET
request from your database. - Do the same in
pages/api/[id]/index.js
for the details page.
- In
pages/create.js
, write theaddPlace
function to start aPOST
request. - Write the
POST
API route inpages/api/places/index.js
. - Submitting the form should redirect the user to the homepage
/
.
-.-.-.-.-.--.-.-.-.-
- In
pages/places/[id]/edit.js
, write theeditPlace
function to start aPATCH
request. - Write the
PATCH
API route inpages/api/[id]/index.js
- In
pages/places/[id].index.js
, write thedeletePlace
function to start aDELETE
request. - Write the
DELETE
API route inpages/api/places/[id]/index.js
.
Deploy your app to Vercel and make sure the deployment can access the cloud database with the help of environment variables.
When deploying an application to Vercel, the app is not immediately able to connect with your cloud database. This is because the authentication information (user and password) is stored in a .env.local
file which is only available to your local development environment. You can't upload this file to Vercel because it contains sensitive information. This is why we added the .env.local
file to the .gitignore
file.
To make the app work on Vercel, we need to provide the authentication information in a different way. This is where environment variables come in. Environment variables are a way to store sensitive information in a secure way. You can read more about environment variables in the Vercel docs.
This is why we need to provide Vercel with the access details.
-
In the dashboard of your Vercel project, navigate to "Settings".
-
In the left-hand navigation, choose "Environment Variables".
- Add the key (
MONGODB_URI
) and the value (mongodb+srv...
) - Tick all environments (Production, Preview, and Development).
- Click "Save".
- Add the key (
-
At the bottom of this page, you should now see a new environment variable
-
Redeploy your application:
- In the main navigation, choose "Deployments".
- Open the three dots next to your last deployment and choose "Redeploy".
-
If there's a popup, hit the "Redeploy" button again.
-
Congratulations, you are done! Open the Vercel URL of your project to see that your deployed application has now access to the cloud database.
To work locally, please install the dependencies using npm i
first.
Run npm run dev
to start a development server and open the displayed URL in a browser.
Use npm run test
to run the tests.
Select the "Preview: 3000" tab to view this project.
Select the "Tests: logs" tab to view the tests.
The
npm run dev
andnpm run test
scripts run automatically.
You can use the following commands:
npm run dev
to start a development servernpm run build
to build the projectnpm run start
to start a production servernpm run test
to run the testsnpm run lint
to run the linter