ElevateHQ is a web-based application designed to manage payment processing, sales tax compliance, and other essential business functions. This project integrates Stripe for payments, Postgres as the database (using Neon serverless Postgres), and Gmail for email functionality.
- Stripe Integration: Supports both Stripe Checkout and subscription management, allowing users to make payments and manage their subscriptions easily.
- Authentication: User authentication is handled by Django Allauth, which supports traditional logins and third-party logins via GitHub, Google, Apple, and more.
- Email Service: Integrated with Gmail SMTP for sending transactional and notification emails.
- Dashboard: Manage payments, subscriptions, and user interactions with ease.
- PostgreSQL Database: Reliable and scalable database management using Neon Serverless Postgres.
- Security: Uses environment variables to handle sensitive information securely.
-
Clone the repository:
git clone https://github.com/AshhadDevLab/elevate-hq.git
-
Navigate to the project directory:
cd elevate-hq
-
Set up a virtual environment and activate it:
python -m venv env source env/bin/activate # Linux/MacOS env\Scripts\activate # Windows
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up the
.env
file:Create a
.env
file in the root directory and add the following content:SECRET_KEY= # Your Django secret key here DEBUG= # True or False DATABASE_URL="" # Your Neon database URL here EMAIL_HOST="" # Your email host here EMAIL_PORT= # Your email port here EMAIL_HOST_USER="" # Your email host user here EMAIL_HOST_PASSWORD="" # Your email host password here EMAIL_USE_TLS= # True or False EMAIL_USE_SSL= # True or False ADMIN_USER_NAME="" # Your admin username here ADMIN_USER_EMAIL="" # Your admin user email here STRIPE_SECRET_KEY="" # Your Stripe secret key here BASE_URL="" # Your base URL here
-
Run migrations to set up the database schema:
python manage.py migrate
-
Create an admin user to access the Django admin panel:
python manage.py createsuperuser
Follow the prompts to set up your admin username, email, and password.
-
Pull the required CSS and JS files using the
vendor_pull
command:python manage.py vendor_pull
This command downloads and stores the necessary frontend static files (CSS and JS) locally in the project.
-
Start the development server:
python manage.py runserver
-
Visit http://127.0.0.1:8000 to access the application locally.
-
Set the environment variables for production:
DEBUG=False ALLOWED_HOSTS=<your-production-domain>
-
Update the
DATABASE_URL
for the production database. -
Collect static files for production:
python manage.py collectstatic
-
Deploy using a WSGI server like Gunicorn:
gunicorn elevatehq.wsgi
This project is licensed under the MIT License.
- GitHub: AshhadDevLab
- LinkedIn: Ashhad Ahmed
- Email: ashhadahmed776@gmail.com