BookClub is a web application designed to connect book lovers, enabling them to track their reading progress, discover new books, and share their reviews. Inspired by Goodreads, this project is a school assignment aimed at learning full-stack web development with Django and React.
- Track Your Reading: Add books to your virtual library and track your progress.
- Discover New Books: Get recommendations based on your reading preferences.
- Write Reviews: Share your thoughts and see what others are saying.
- Community Engagement: Follow other users and see their reading lists and reviews.
This project combines powerful backend capabilities with an interactive frontend to deliver an engaging user experience. It's an ideal platform for book enthusiasts to connect, inspire, and grow their love for reading.
Follow these steps to get a local copy of the project up and running:
- Python 3.10+
- Node.js (version >= 18, check with node -v)
- npm
- Virtual environment manager (optional but recommended)
-
Navigate to folder and set up a virtual environment(optional but recommended) Navigate to the bookclub folder in the terminal
cd BookClub python -m venv venv source venv/bin/activate # Use `venv\Scripts\activate` on Windows
-
install dependencies
pip install -r requirements.txt
-
Apply database migrations
python manage.py migrate
-
Run the development server
python manage.py runserver
-
Open a new terminal and navigate to frontend folder
cd BookClub/frontend -
Requirements for running frontend server
npm install
-
Run the frontend servera
npm run dev
and press the link that pops up in the terminal: http://localhost:5173/
-
If the Database is not available
Download the database from this link:
https://universitetetitromso-my.sharepoint.com/:u:/g/personal/agu078_uit_no/EWSpiCis85tDulFQM9y2DewBF40NWnsoFe09IiZN38kF1Q?e=vYSEhi -
Database location:
Put the db.sqlite3 database in root folder of /Bookclub, you will get a warning that there already exists a db.sqlite file, replace it with the new one, refresh the page and everythong should work
If encountering problems at the npm install stage, you might need to check that the node version you are running is correct.
```bash
node --v
```
If you need to update your node version, you might want to run these commands:
```bash
sudo apt remove nodejs npm
sudo apt purge nodejs npm
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
node -v
npm -v
```
After this, try rerunning
```bash
npm install
```
- Gard Schive
- Lukas Voldset
- Samuel Østby
- Alexander Guttormsen