113 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| Installation
 | |
| ############
 | |
| 
 | |
| This application is written in Python (API) and Javascript (client):
 | |
| 
 | |
| - API:
 | |
|     - Flask
 | |
|     - `gpxpy <https://github.com/tkrajina/gpxpy>`__ to parse gpx files
 | |
|     - `staticmap <https://github.com/komoot/staticmap>`__ to generate a static map image from gpx coordinates
 | |
|     - `python-forecast.io <https://github.com/ZeevG/python-forecast.io>`__ to fetch weather data from `Dark Sky <https://darksky.net>`__ (former forecast.io)
 | |
| - Client:
 | |
|     - React/Redux
 | |
|     - `Leaflet <https://leafletjs.com/>`__ to display map
 | |
|     - `Recharts <https://github.com/recharts/recharts>`__ to display charts with elevation and speed
 | |
| 
 | |
| Sports and weather icons are made by Freepik from www.flaticon.com.
 | |
| 
 | |
| Prerequisites
 | |
| ~~~~~~~~~~~~~
 | |
| 
 | |
| -  PostgreSQL database (10+)
 | |
| -  Python 3.7+
 | |
| -  `Yarn <https://yarnpkg.com>`__ and
 | |
|    `serve <https://github.com/zeit/serve>`__
 | |
| -  API key from `ThunderForest <http://thunderforest.com>`__
 | |
| -  API key from `Dark Sky <https://darksky.net/dev>`__ [not mandatory]
 | |
| 
 | |
| 
 | |
| Installation
 | |
| ~~~~~~~~~~~~
 | |
| 
 | |
| | The following steps describe an installation on Linux systems (tested
 | |
|   on Debian and Arch).
 | |
| | On other OS, some issues can be encountered and adaptations may be
 | |
|   necessary.
 | |
| 
 | |
| Dev environment
 | |
| ^^^^^^^^^^^^^^^
 | |
| 
 | |
| -  Clone this repo:
 | |
| 
 | |
| .. code:: bash
 | |
| 
 | |
|    $ git clone https://github.com/SamR1/FitTrackee.git
 | |
|    $ cd FitTrackee
 | |
| 
 | |
| -  Update **Makefile.config** file if needed and copy/paste the
 | |
|    **ThunderForest** and **Dark Sky** API keys value in
 | |
|    **Makefile.custom.config** file (see example)
 | |
| 
 | |
| -  Install Python virtualenv, React and all related packages and
 | |
|    initialize the database:
 | |
| 
 | |
| .. code:: bash
 | |
| 
 | |
|    $ make install-dev
 | |
|    $ make install-db
 | |
| 
 | |
| -  Start the server and the client:
 | |
| 
 | |
| .. code:: bash
 | |
| 
 | |
|    $ make serve
 | |
| 
 | |
| Open http://localhost:3000 and login (the email is ``admin@example.com``
 | |
| and the password ``mpwoadmin``) or register
 | |
| 
 | |
| Prod environment
 | |
| ^^^^^^^^^^^^^^^^
 | |
| 
 | |
| -  Download the last release (for now it is the beta release v0.2.1):
 | |
| 
 | |
| .. code:: bash
 | |
| 
 | |
|    $ wget https://github.com/SamR1/FitTrackee/archive/v0.2.1-beta.tar.gz
 | |
|    $ tar -xzf v0.1.1-beta.tar.gz
 | |
|    $ mv FitTrackee-0.1.1-beta FitTrackee
 | |
|    $ cd FitTrackee
 | |
| 
 | |
| -  Update **Makefile.config** file if needed and copy/paste the
 | |
|    **ThunderForest** and **Dark Sky** API keys value in
 | |
|    **Makefile.custom.config** file (see example)
 | |
| 
 | |
| -  Install Python virtualenv, React and all related packages and
 | |
|    initialize the database:
 | |
| 
 | |
| .. code:: bash
 | |
| 
 | |
|    $ make install
 | |
|    $ make install-db
 | |
| 
 | |
| -  Build the client:
 | |
| 
 | |
| .. code:: bash
 | |
| 
 | |
|    $ make build-client
 | |
| 
 | |
| -  Start the server and the client:
 | |
| 
 | |
| .. code:: bash
 | |
| 
 | |
|    $ make run
 | |
| 
 | |
| Open http://localhost:3000, log in as admin (the email is
 | |
| ``admin@example.com`` and the password ``mpwoadmin``) and change the
 | |
| password
 | |
| 
 | |
| Upgrade
 | |
| ~~~~~~~
 | |
| 
 | |
| ``TODO``
 | |
| 
 |