Grantify is a full-stack web application designed to streamline the grant application process for organizations and individuals. It provides a user-friendly interface to manage grant opportunities, track applications, and collaborate with team members.
- User Authentication: Secure user registration and login using JWT-based authentication.
- Grant Management: Create, edit, and delete grant opportunities with detailed descriptions and deadlines.
- Application Tracking: Track the status of grant applications, including submission dates and updates.
- Search and Filter: Easily search and filter grants based on keywords, categories, or deadlines.
- Notifications: Receive email or in-app notifications for upcoming deadlines and updates.
- Responsive Design: Fully responsive UI for seamless use on desktop and mobile devices.
- Backend: Python, Django, Django REST Framework
- Frontend: HTML, CSS, JavaScript
- Database: PostgreSQL
- Development Tools: Visual Studio Code, Git, GitHub
- Deployment: Deployed on Render
-
Clone the repository:
git clone https://github.com/0xlida00/grantify.git cd grantify
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
- Create a
.env
file in the root directory. - Add the following variables:
- Create a
-
Start the development server:
python manage.py runserver
-
Access the app at
http://127.0.0.1:8000
.
-
Create a Render Account:
- Sign up at Render if you don’t already have an account.
-
Create a New Web Service:
- Link your GitHub repository to Render.
- Select the branch you want to deploy.
-
Set Environment Variables:
- Go to the Environment tab in your Render service.
- Add the following environment variables:
SECRET_KEY=your-production-secret-key DATABASE_URL=your-production-database-url
-
Update
settings.py
:- Ensure the following is already configured in
settings.py
:import os DEBUG = False ALLOWED_HOSTS = ['your-render-app-url'] # Replace with your Render app URL
- Ensure the following is already configured in
-
Install Gunicorn:
- Ensure
gunicorn
is listed in yourrequirements.txt
file:gunicorn
- Ensure
-
Start Command:
- Make sure to add the below to the start command:
gunicorn Grantify_Project.wsgi:application
- Make sure to add the below to the start command:
-
Deploy:
- Deploy the app on Render. Render will automatically detect the Python environment and install dependencies.
-
Access Your App:
- Once deployed, access your app at the Render-provided URL.
- Environment Variables: Keep sensitive values like
SECRET_KEY
andDATABASE_URL
secure in the Render environment variables. - Static and Media Files: Cloudinary is used for media file storage. Ensure the
CLOUDINARY_CLOUD_NAME
,CLOUDINARY_API_KEY
, andCLOUDINARY_API_SECRET
are correctly configured in.env
.
- Register or log in to your account.
- Browse available grants or create new grant opportunities.
- Track your applications and collaborate with team members.
- Add to your ToDO list and update your tasks list as you progress.
- Stay updated with notifications for deadlines and changes.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add feature-name"
- Push to the branch:
git push origin feature-name
- Open a pull request.
For questions or feedback, please contact Lidao Betema at [rodrigue.betema@gmail.com].