This is a full-stack web application built using ASP.NET Core API and React. The application allows users to view all the available books in the library and create their own list of favorite books after signing in as a user. Librarians can log in to edit, delete or add new books to the library, as well as add, edit or delete users.
Firebase is used in this project for user authentication and real-time database functionality.
-
Authentication: Firebase Authentication is used to allow users to sign up and sign in to the application.
-
Real-time Database: Firebase Realtime Database is used to store user's favorite books list and other data.
Here is the link to the Figma design for this project: https://www.figma.com/community/file/1233192187177809697
The design includes the following screens:
- Home page
- Sign in / Sign up pages
- Books list page
- Book details page
- Add / edit book page
- Users list page
- Add / edit user page
Here is the link to the database schema for this project: https://dbdiagram.io/d/643f38706b31947051d2155a
The schema includes the following tables:
- Users: stores information about the application users.
- Roles: stores information about the roles in the application (e.g., user, librarian).
- Books: stores information about the books in the library.
- Genres: stores information about the book genres.
- Authors: stores information about the book authors.
To run this application locally, you need to have Node.js, .NET Core SDK, and a code editor such as Visual Studio Code or Visual Studio installed on your computer.
- Clone the repository to your local machine.
git clone https://github.com/nss-evening-cohort-20/ReadersRendezvous-E20.git
- Navigate to the
readersrendezvousclient
folder and runnpm install
to install all the required client-side dependencies.
cd readersrendezvousclient
npm install
- Navigate to the
ReadersRendezvous-E20
folder and rundotnet run
to start the server.
ReadersRendezvous-E20
dotnet run
- Open a new terminal window, navigate to the
readersrendezvousclient
folder and runnpm start
to start the React app.
cd readersrendezvousclient
npm start
- Open your browser and go to
http://localhost:3000
to view the app.
-
User Authentication: Users can sign up or sign in to the application using Firebase Authentication. Once authenticated, they can create a list of favorite books.
-
Book Management: Librarians can log in to the application and add, edit or delete books from the library.
-
User Management: Librarians can add, edit or delete users from the application.
-
Search: Users can search for books by title, author, or genre.
- ASP.NET Core API
- React
- SQL
- Bootstrap
- Axios
- ERD
- Figma
- Firebase
This project is licensed under the MIT License.