An open API service indexing awesome lists of open source software.

https://github.com/alejandroq12/runner-tracker-backend

This is the backend for my web application called runner tracker.
https://github.com/alejandroq12/runner-tracker-backend

Last synced: 2 months ago
JSON representation

This is the backend for my web application called runner tracker.

Awesome Lists containing this project

README

        

# Runner Tracker Back-end


main-logo

Runner Tracker Back-end


# 📗 Table of Contents

- [Runner Tracker Back-end](#runner-tracker-back-end)
- [📗 Table of Contents](#-table-of-contents)
- [Runner Tracker Back-end ](#runner-tracker-back-end-)
- [🛠 Built With ](#-built-with-)
- [Tech Stack ](#tech-stack-)
- [Key Feature ](#key-feature-)
- [🚀 Live Demo ](#-live-demo-)
- [💻 Getting Started ](#-getting-started-)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment ](#deployment-)
- [👥 Author ](#-author-)
- [🔭 Future Features ](#-future-features-)
- [🤝 Contributing ](#-contributing-)
- [⭐️ Show your support ](#️-show-your-support-)
- [🙏 Acknowledgments ](#-acknowledgments-)
- [❓ FAQ ](#-faq-)
- [📝 License ](#-license-)

# Runner Tracker Back-end

This full-stack application, developed using PostgreSQL, Node.js, React.js, Heroku, Tachyons, and JWT, enables users to log and monitor their running activities. Specifically, it allows for the tracking and storage of both the duration and distance covered during each run. Designed for runners seeking a comprehensive view of their training progress, the app provides an intuitive and user-friendly interface to input and review their activity metrics effectively.

[Runner Tracker Front-end -- Source code](https://github.com/Alejandroq12/runner-tracker)


logo
logo
logo

## 🛠 Built With

JavaScript,
Node.js,
PostgreSQL,
Express.js.

### Tech Stack

Client

Back-end

Package Manager

Linters

### Key Feature

- **It tracks training progress.**
- **It shows progress with a graph to let the user visually see improvements.**

(back to top)

## 🚀 Live Demo

[Live Demo Link](https://running-track-acf8bf94dcd3.herokuapp.com)

(back to top)

## 💻 Getting Started

To get a local copy up and running, follow these steps.

### Prerequisites

In order to run this project you need:

- A web browser to view output e.g [Google Chrome](https://www.google.com/chrome/).
- An IDE e.g [Visual studio code](https://code.visualstudio.com/).
- `node` should be installed in your local machine, [node website](https://nodejs.org/en/download/).
- Install the `npm` package manager use this [to install both node and npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm).
- [A terminal](https://code.visualstudio.com/docs/terminal/basics).

### Setup

Clone this repository to your desired folder or download the Zip folder:

Use the following command to clone this project:
```
git clone https://github.com/Alejandroq12/runner-tracker-backend.git

```

- Navigate to the location of the folder in your machine:

**``you@your-Pc-name:~$ cd runner-tracker-backend``**

### Install

To install all dependencies, run:

```
npm install
```
In the file called [server.jd](./server.js) comment this code:

```javascript
const db = knex({
client: 'pg',
connection: {
connectionString: process.env.DATABASE_URL,
ssl: {
rejectUnauthorized: false
},
},
});
```
Please paste the following code, making sure to adjust the values as necessary. For instance, your password, user, or any other value might differ on your PC. Additionally, don't forget to create the database using the schema found in [schema](./schema.sql)
```javascript
const db = knex({
client: 'pg',
connection: {
host: '127.0.0.1', // Your database host
user: 'postgres', // Your database user
port: '5432', // Your database port
password: 'your_password', // Your database password
database: 'runner', // Your database name
},
});

```
### Usage

To run the project, follow these instructions:

- After Cloning this repo to your local machine.

- You must use `npm run start:dev` command in terminal to run this at the localhost.

- Make sure that you are also running the front-end [Runner Tracker Front-end -- Source code](https://github.com/Alejandroq12/runner-tracker).

### Run tests

Tests will be available soon!

### Deployment

You can deploy this project using: Netlify, Render, Heroku or GitHub Pages,
- I am using Heroku to deploy it.
- For more information about deployment on Heroku see "[Heroku](https://www.heroku.com/what)".

(back to top)

## 👥 Author

👤 **Julio Quezada**

- GitHub: [Alejandroq12](https://github.com/Alejandroq12)
- Twitter: [@JulioAle54](https://twitter.com/JulioAle54)
- LinkedIn: [Julio Quezada](https://www.linkedin.com/in/quezadajulio/)

(back to top)

## 🔭 Future Features

- [ ] **I will improve security.**
- [ ] **I will improve performance.**
- [ ] **I will reuse some React.js components to avoid repetition.**

(back to top)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](../../issues/).

(back to top)

## ⭐️ Show your support

If you like this project give me a star ⭐️.

(back to top)

## 🙏 Acknowledgments

I want to thank all my colleagues that share knowledge with and inspired to to improve each day.

(back to top)

## ❓ FAQ

- **What did you learned?**

- Through developing this full-stack application, I gained hands-on experience in integrating PostgreSQL, Node.js, React.js, and JWT for secure and effective data handling and user authentication. I learned to deploy applications seamlessly using Heroku and employed Tachyons for rapid, responsive design. This project improved my skills in creating a tracking system, specifically created for runners, to monitor the duration and distance of their activities, enhancing their training progress with an intuitive and user-friendly interface.

(back to top)

## 📝 License

This project is [LICENSE](./LICENSE) licensed.

(back to top)