This project is a robust Recipe App that leverages the Spoonacular API for recipe data, combining React for the frontend, Node.js for the backend, and PostgreSQL via elephantSQL managed by Prisma. It provides users with a platform to discover, manage, and share recipes efficiently.
Lenox Miheso
Throughout the development of this project, I gained valuable experience in various aspects of web development, particularly focusing on RESTful APIs, including:
- Setting up a React frontend with interactive components.
- Building a scalable backend using Node.js and Express.
- Utilizing PostgreSQL via elephantSQL and managing it with Prisma for reliable data storage and retrieval.
- Implementing CRUD (Create, Read, Update, Delete) operations for managing recipe data.
- Implementing JWT Authentication for secure user authentication.
- Designing RESTful APIs for seamless communication between frontend and backend.
- Leveraging the Spoonacular API for fetching recipe data dynamically.
- Utilizing nodemon for automatic server restarts during development.
- React: Used for building the frontend user interface with interactive components.
- Node.js & Express.js: Employed for developing the backend server and handling server-side logic.
- PostgreSQL Database (elephantSQL): Utilized as the primary database management system, managed via elephantSQL for seamless deployment and management.
- Prisma: Utilized as an ORM tool for simplifying database interactions and queries.
- JWT Authentication: Implemented for secure user authentication and authorization.
- RESTful API Design: Designed APIs following the REST principles for efficient communication between frontend and backend.
- Spoonacular API: Leveraged for fetching recipe data dynamically.
- nodemon: Employed for automatic server restarts during development, enhancing development efficiency.
To set up the database:
- Ensure you have an account with elephantSQL and obtain connection details.
- Create a
.env
file in the backend directory and configure environment variables:DATABASE_URL=<your elephantSQL database URL>
To set up the backend:
- Navigate to the project directory.
- Install backend dependencies:
cd backend npm install
- Run the database migrations using Prisma CLI:
npx prisma migrate dev
- Start the backend server by running:
or for development with nodemon:
npm start
npm run dev
To set up the frontend:
- Navigate to the project directory.
- Install frontend dependencies:
cd frontend npm install
- Start the React development server using:
npm start
- Access the application in your web browser at
http://localhost:3000
.
To set up the Spoonacular API key:
- Obtain an API key from Spoonacular.
- Create a
.env
file in the backend directory and configure environment variables:SPOONACULAR_API_KEY=<your Spoonacular API key>
Contributions to this project are welcome. Feel free to submit bug fixes, feature enhancements, or suggestions via pull requests.
This project is licensed under the MIT License.
I would like to express my gratitude to God.