A full-stack web application designed to connect Indigenous Nations with grant funding opportunities and facilitate economic development initiatives across the United States.
CEC serves as a crucial bridge between Indigenous Nations and available grant funding resources. The platform provides an interactive map-based interface to explore funding opportunities by state and territory, offering detailed information about grants, deadlines, and application requirements. Our goal is to streamline the grant discovery and application process while promoting economic development in Indigenous communities.
- Interactive map interface for exploring funding opportunities by state
- Comprehensive database of federal, state, and private grants
- Detailed grant information including:
- Funding amounts
- Eligibility requirements
- Application deadlines
- Required documentation
- User profiles for Indigenous Nation representatives
- Grant tracking and application management
- Resource library for grant writing and economic development
- Notification system for new opportunities
- React (Vite)
- Redux for state management
- Leaflet.js for interactive maps
- Tailwind CSS for styling
- React Router for navigation
- Flask (Python)
- SQLAlchemy ORM
- PostgreSQL database
- Flask-Login for authentication
- Alembic for database migrations
-
Clone this repository
-
Install backend dependencies:
pipenv install -r requirements.txt
-
Create a .env file based on the example with proper settings for your development environment.
-
Configure your PostgreSQL database URL in the .env file.
-
Set up your database schema:
- This project uses a custom schema defined by the
SCHEMA
environment variable - Choose a unique snake_case name for your schema
- This project uses a custom schema defined by the
-
Initialize and seed the database:
pipenv shell flask db upgrade flask seed all flask run
-
Set up the frontend:
cd react-vite npm install npm run build
The build command includes the --watch flag for automatic rebuilding during development.
This application is configured for deployment on Render.com using Docker containerization.
- Ensure your React build is up to date (
npm run build
in react-vite directory) - Commit and push all changes to GitHub
- Configure environment variables in Render.com dashboard:
- SECRET_KEY
- FLASK_ENV
- FLASK_APP
- SCHEMA
- DATABASE_URL
- Create a new Web Service in Render.com
- Connect to your GitHub repository
- Select Docker as the runtime
- Configure environment variables
- Deploy!
For detailed deployment instructions, refer to the Render.com documentation.