Welcome to the Studdy Buddy project! This is a language learning application built with React (frontend) and Django (backend). This README will guide you through the process of setting up the project locally on your machine.
Before you begin, ensure you have the following installed:
- Node.js (version 14 or later)
- npm (Node package manager, comes with Node.js)
- Python (version 3.6 or later)
- Django (version 3.0 or later)
- pip (Python package manager, comes with Python)
You can download and install Node.js from nodejs.org.
You can download Python from python.org. Pip is included with Python installations.
You can install Django globally using pip:
pip install djangoYou'll also need the Django REST framework for the backend API:
pip install djangorestframework- Clone the Repository Clone the project repository using Git:
git clone https://github.com/yourusername/studdy-buddy.git
cd studdy-buddy/frontend- Install Dependencies Install the necessary dependencies for the frontend using npm:
npm install- Start the Frontend Development Server You can run the React application using:
npm startThis will open the application in your default web browser at http://localhost:3000.
- Navigate to the Backend Directory In a new terminal window, navigate to the backend directory:
cd studdy-buddy/backend- Create a Virtual Environment:
python -m venv venv- Activate Virtual Environment
On Windows:
venv\Scripts\activate- Install Dependencies Install the required packages for the backend:
pip install -r requirements.txt- Apply Database Migrations Run the following command to create the necessary database tables:
python manage.py migrate- Start the Backend Development Server:
python manage.py runserverThis will start the server at http://localhost:8000.
Please do not push untested/unfinished code to the main branch Create a new branch on which you work with your unfinished code and only merge if you're certain it won't break the platform
Also, please do not push the database (db.sqlite3 file) to any branch. I only included it in the inital commit to provide you with accounts so you don't have to create them yourselves.