Installation
We will continue using the same project as in your tutorials and previous lectures in this section and the following sections. Please download it from your forked repository (instructions here )
Instructions
- Complete all the user requirements below
- Cover each user requirement by end-to-end test (tag each test by “@databases”)
- If necessary, cover utility code and component code with unit or integration tests
- Commit and push the code
- Make sure all tests pass
- Commit and push your code to your repository
Setup
In this section, we will play with native drivers to access SQLite, Postgres and MongoDB, please install them in your project:
pnpm i pg mongodb sqlite3
You will also need access to a Mongodb and Postgres database. We recommend you create an account with Mongodb and Vercel or Neon:
Mongo Database
Mongo Atlas: https://www.mongodb.com/resources/basics/databases/cloud-databases/free-cloud-database
Postgres
Vercel: https://nextjs.org/learn/dashboard-app/setting-up-your-database
Neon: https://www.neon.tech
SQLite
Nothing needed here
System Requirements
All branches:
- Cache database requests with 1 hour update interval
- Preload blog post when hovering over the link
- Use combination of server actions and client side mutations
- All requests must be validated for data types and structure
- I want to obtain a filtered list of posts from the database based on tags
- I want to show the list of available tags
- I want to be able to like the post
- I want to update post
Git Branch - “Sqlite”
- I want to obtain the list of posts from the SQL database
Git Branch - “Postgres”
- I want to obtain the list of posts from the Postgres database
Git Branch - “Mongodb”
- I want to obtain the list of posts from the Mongodb database