This project aims to provide accessible and easily communicable information about climbing in Tanzania. The site includes details on geological formations, how to reach climbing locations, and other relevant information to help climbers and landowners manage and enjoy climbing activities.
Before you begin, ensure you have met the following requirements:
- Node.js (v14.0.0 or later) and npm
- Python (v3.8 or later)
- PostgreSQL
-
Clone the repository:
git clone https://github.com/t-bingham/ClimbTanzania.git cd ClimbTanzania
-
Set up the frontend:
cd frontend npm install
-
Set up the backend:
cd ../backend python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate` pip install -r requirements.txt
-
Set up the database:
- Ensure PostgreSQL is installed and running.
- Create a database and update the database URL in the backend settings.
-
Start the backend server:
cd backend uvicorn main:app --reload
or
cd backend python -m uvicorn main:app --reload
-
Start the frontend server:
cd frontend npm run dev
-
Open your browser and navigate to
http:https://localhost:3000
.
ClimbTanzania/
├── backend/ # FastAPI backend
│ ├── app/ # Application modules
│ ├── main.py # Entry point for the backend
│ └── requirements.txt # Python dependencies
├── frontend/ # Next.js frontend
│ ├── components/ # React components
│ ├── pages/ # Next.js pages
│ ├── public/ # Public assets (e.g., logo)
│ ├── styles/ # CSS styles
│ ├── content/ # Text content files
│ ├── package.json # NPM dependencies
│ └── next.config.js # Next.js configuration
└── README.md # Project documentation
-
Frontend:
- Next.js
- React
- Tailwind CSS
- Leaflet (for maps)
-
Backend:
- FastAPI
- PostgreSQL
In the frontend
directory, you can run:
npm run dev
: Starts the development server.npm run build
: Builds the app for production.npm run start
: Starts the production server.
In the backend
directory, you can run:
uvicorn main:app --reload
: Starts the FastAPI server with hot-reloading.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Create a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.