Bookify is a web application that allows you to browse, search and manage a collection of recommended books. The application offers functionalities to register new books, view book details, and maintain a user profile with secure authentication.
- Book Browsing: Browse through a collection of recommended books.
- Book Search: Search for books by title, author or genre.
- Book Registration: Add new books to the collection with details such as title, author, genre and synopsis.
- User Profile: Secure authentication and profile management with Auth0.
- Friendly Interface: Intuitive and easy-to-use design with Material-UI.
-
Frontend:
-
React - Library for building user interfaces.
-
Material-UI - User interface components.
-
Axios - HTTP client to make requests.
-
Wouter - Lightweight router for React.
-
Backend:
-
Node.js - Runtime environment for server-side JavaScript.
-
Express - Framework for building web applications.
-
MongoDB - NoSQL database.
-
Auth0 - Authentication and authorization.
To run this application locally, follow these steps:
-
- Clone the Repository:
git clone https://github.com/tu-usuario/recommended-book.git
- Install Dependencies:
- Frontend:
cd frontend npm install
- Backend:
cd backend npm install
- Configure Environment Variables:
REACT_APP_AUTH0_DOMAIN=tu-dominio.auth0.com REACT_APP_AUTH0_CLIENT_ID=tu-client-id REACT_APP_AUTH0_AUDIENCE=tu-audience VITE_CLOUDINARY_URL=https://api.cloudinary.com/v1_1/tu-cloud-name/image/upload VITE_UPLOAD_PRESET=tu-upload-preset
- Run the Application:
-
Frontend: cd frontend: npm run dev
-
Backend: cd backend: npm run dev
Authentication:
-
Log in using Auth0 to access the app's functionalities. Explore Books:
-
Browse the main page to see a list of recommended books. Search Books:
-
Use the search bar to find books by title, author, or genre. Add Books:
-
Head to the book creation page to add new books to the collection. See Details:
-
Click on a book to see its detailed information.
To configure the application for production, ensure that the environment variables are correctly defined and that the backend is properly configured to handle requests in a production environment.
Contributions are welcome. If you want to contribute to the project, follow these steps:
-
Fork the Repository.
-
Create a Branch for your Feature or Fix.
-
Commit your Changes.
-
Push the branch.
-
Create a pull request.
This project does not have a license.