An awesome application to plan your trips!
Explore the docs »
View Demo
·
Check issues
·
Show design
Table of Contents
Guide.me is an trip planning app which creates for you optimal sightseeing route based on your preferences.
Project created by @akai-org Academic Circle.
Tech stack
If you have Docker, you can use the tutorial described here.
Backend
Change directory to api
cd ./api
Create venv
python -m venv venv
Activate venv
#Windows
/venv/Scripts/activate
source /venv/bin/activate
4. Install requirements
pip install --no-cache-dir --upgrade -r ./requirements/docker.txt
5. Run Uvicorn server
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
**Frontend**
1. Change directory to `ui`
cd ./ui
2. Install dependencies
npm ci
3. Run development server
npm run dev
You can also run storybook:
npm run storybook
## Contributing
If you are a contributor, please clone this repo and assign yourself to one of the issues. If you noticed a bug or something that could be improved, you can create new issue with proper labels.
1. Clone the Project
2. Create your Feature Branch (`git checkout -b AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin AmazingFeature`)
5. Open a Pull Request
## Design
**Design under construction 🏗👷♀️👷♂️**
![Design Board](https://user-images.githubusercontent.com/56632321/227791400-7bc02427-9c94-4016-8175-3fe831ad1b17.png)
[DESIGN](https://www.figma.com/file/g2tzSA8pQQ8Dv3tE41zlN4/GuideMe?node-id=1-2&t=TcZBYhFraQOztbG5-0)
## Docker
In order to run the project in a docker container you must run a `docker daemon` on your computer and then type command:
docker compose up --build
Docker will run three containers on you computer:
- PostgreSQL Database on port 5432
- Frontent on port 8080
- Backend on port 8000
Database's files are saved in `api\database`. If you want to clear the database just remove this directory.
All containers are configured to work as development environment so each change will trigger auto reload. Feel free to use it.
## Frontend workspace
./ui/
## Backend workspace
./api/
## Linters
In this project we use _black_ and _isort_ as linters. In ordet to use them you must first install them with the following command:
pip install black isort
To format your code just type:
isort . black .
We have also configured pre-commit hook, that will automaticly format your code on every commit. To use them install pre-commit
pip install pre-commit pre-commit install