akai-org / planer-podrozy

8 stars 0 forks source link
[![www.google.com](https://img.shields.io/github/issues/akai-org/planer-podrozy.svg)](https://github.com/akai-org/planer-podrozy/issues) [![PullRequestOpen](https://img.shields.io/github/issues-pr/akai-org/planer-podrozy.svg)](https://github.com/akai-org/planer-podrozy/pulls) [![PullRequestClosed](https://img.shields.io/github/issues-pr-closed/akai-org/planer-podrozy.svg)](https://github.com/akai-org/planer-podrozy/issues?q=is%3Aissue+is%3Aclosed) [![GiveStar](https://img.shields.io/github/followers/akai-org.svg?style=social&label=Follow&maxAge=2592000)](https://github.com/akai-org)


Logo

An awesome application to plan your trips!
Explore the docs »

View Demo · Check issues · Show design

Table of Contents

  1. About The Project
  2. Getting Started
  3. Contributing
  4. Design
  5. Docker
  6. Frontend workspace
  7. Backend workspace

About The Project

Desktop

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

PostgreSQL Figma Fastapi NPM React SASS Storybook Vite ESLint Prettier Stylelint Docker

Getting Started

If you have Docker, you can use the tutorial described here.

Backend

  1. Change directory to api

    cd ./api
  2. Create venv

    python -m venv venv
  3. Activate venv

    
    #Windows
    /venv/Scripts/activate

Linux

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