SaveLife is a web application designed to empower individuals and organizations to create, manage, and contribute to campaigns aimed at making a positive impact in the world. Whether it's raising funds for disaster relief, supporting education initiatives, or helping communities access clean water, SaveLife provides a platform to connect donors with meaningful causes.

- Campaign Management: Users can create and manage campaigns with detailed descriptions, goals, and images.
- Donation System: Donors can contribute to campaigns securely and track progress toward goals.
- User Profiles: Personalized profiles for individuals and organizations to manage their activities.
- Inspiring Stories: A section dedicated to showcasing impactful stories that inspire action.
- Authentication: Secure login and registration system with JWT-based authentication.
- Responsive Design: Optimized for both desktop and mobile devices.
- Frontend: Built with React and TailwindCSS for a modern and responsive user interface.
- Backend: Powered by Django REST Framework for robust API functionality.
- Frontend: React, TailwindCSS, Axios, Framer Motion
- Backend: Django, Django REST Framework, SimpleJWT
- Database: SQLite (development), configurable for production databases
- Version Control: Git and GitHub
SaveLife aims to simplify the process of fundraising and connecting donors with causes that matter. By providing a user-friendly interface and secure backend, SaveLife ensures transparency and trust in the donation process.
- Organizations: Create campaigns with detailed descriptions, goals, and images.
- Donors: Browse campaigns, read inspiring stories, and contribute to causes.
- Progress Tracking: Monitor campaign progress and celebrate milestones.
- Stories: Share impactful stories to inspire others to take action.
We welcome contributions to improve SaveLife! Feel free to fork the repository, create pull requests, or report issues.
- Clone the repository:
git clone https://github.com/byeolunu/savelife.git
- Create a .env file in the backend directory and add the following:
DJANGO_SECRET_KEY=your-secret-key
DJANGO_DEBUG=True
DJANGO_ALLOWED_HOSTS=localhost,127.0.0.1
DJANGO_DB_NAME=db.sqlite3
DJANGO_DB_USER=
DJANGO_DB_PASSWORD=
DJANGO_DB_HOST=
DJANGO_DB_PORT=🔴 you can get your secret key using this command in a python file :
from django.core.management.utils import get_random_secret_key
print(get_random_secret_key())- Install Dependencies
pip install -r requirements.txt- Run migrations
cd donation_backend
python manage.py migrate- Start developpement server :
python manage.py runserver- In another terminal follow these steps to run the frontend
npm install
cd donation_frontend
npm start- Access tokens and refresh tokens are dynamically generated during user login and securely stored in the browser's
localStorage. - If you encounter issues with authentication, clear the tokens using the browser's Developer Tools and refresh the page.