Kelompok D4 - Recipes Website
This README describes the making of LaRicetta, an online cookbook with recipes made by the people for the people to implement and be inspired.
This project was created as the final assignment of the 2022/2023 Database Systems and Lab (ENCE604016) course for students in Computer Engineering major by Department of Electrical Engineering, Faculty of Engineering, University of Indonesia. The group that worked on the project, D4, consisted of these students:
- Alifya Zhafira Ananda
- Muhammad Rizky Utomo
- Andikha Wisanggeni
This project uses an SQL-driven database managed by PostgreSQL
. This database is stored in a cloud owned by Neon, an open-source PostgreSQL database. This database connects to a Node.js
backend that drives the database using pg
. This backend serves as a driver to the frontend, which is created using the React
framework.
The website has two types of user: regular user and Admin user. A regular user can register for an account if not created before. The user can then sign in using the credentials used to create said account. A regular user can do the following things:
- Create a recipe and edit said recipe or even delete it
- Comment and rate recipes made by other users
- Follow other users in the website.
An Admin user manages the website as a whole except changing the website's schema. Here are the things that they can do:
- Edit a recipe or delete it
- Edit a comment or delete it
- Delete an account
1. Admin
The admin table contains the admin accounts. This table consists of these attributes:
admin_id username email password
2. Users
The users table contains the regular accounts. This table consists of these attributes:
user_id full_name username email password profile_pic
3. Recipe
The recipe table contains the recipe details. This table consists of these attributes:
recipe_id user_id recipe_name ingredients steps view_number
4. Rating
The rating table contains the ratings for recipes. This table consists of these attributes:
rating_id user_id recipe_id rating
5. Comment
The comment table contains the comments for recipes. This table consists of these attributes:
comment_id user_id recipe_id rating
6. Image
The image table contains the images for recipes. This table consists of these attributes:
recipe_id image
7. Following
The following contains the accounts that user(s) follow. This table consists of these attributes:
user_id followed_user_id
Entity-relationship diagram (ERD)
Unified modeling language (UML)