This project is a volunteer management system that consists of a Django backend, a Vue 3 web frontend for administration, and a uni-app frontend for mobile/mini-program users.
volunteer_system/: Contains the Django backend code.volunteer_system/frontend/: Contains the Vue 3 web frontend application (Vite + Element Plus).volunteer_system/frontend_uniapp/: Contains the uni-app cross-platform frontend application.new_venv/: The Python virtual environment for the backend.
- Python 3.8+
- Node.js (Latest LTS version recommended)
The backend runs on Python using Django. A virtual environment new_venv is already set up in the root directory.
-
Activate the virtual environment:
Windows (PowerShell):
.\new_venv\Scripts\Activate.ps1
Windows (CMD):
.\new_venv\Scripts\activate.bat
-
Navigate to the backend directory:
cd volunteer_system -
Configure MySQL Database:
Ensure your MySQL server is running and create a database named
volunteer_system:CREATE DATABASE volunteer_system CHARACTER SET utf8mb4;
Note: Update your MySQL username and password in
volunteer_system/settings.py(default: root/password). -
Apply database migrations:
python manage.py migrate
-
Run the development server:
python manage.py runserver
The backend API will be available at http://127.0.0.1:8000/.
The web frontend is built with Vue 3, Vite, and Element Plus.
-
Navigate to the frontend directory:
cd volunteer_system/frontend -
Install dependencies:
npm install
-
Run the development server:
npm run dev
The web application will be accessible via the local URL provided by Vite (usually http://localhost:5173/).
The mobile frontend uses uni-app to support multiple platforms (H5, WeChat Mini Program, etc.).
-
Navigate to the uni-app directory:
cd volunteer_system/frontend_uniapp -
Install dependencies:
npm install
-
Run for H5 (Web):
npm run dev:h5
-
Run for WeChat Mini Program:
npm run dev:mp-weixin
- Backend Database: Uses SQLite by default (
db.sqlite3). - Dependencies:
- Backend dependencies are managed in the
new_venvenvironment. - Frontend dependencies are managed via
package.jsonin their respective directories.
- Backend dependencies are managed in the
This project is for demonstration purposes.