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.
- Host: GitHub
- URL: https://github.com/alejandroq12/runner-tracker-backend
- Owner: Alejandroq12
- License: mit
- Created: 2023-07-05T22:09:04.000Z (almost 2 years ago)
- Default Branch: dev
- Last Pushed: 2024-03-10T05:24:54.000Z (about 1 year ago)
- Last Synced: 2025-01-08T10:45:48.340Z (4 months ago)
- Language: JavaScript
- Homepage:
- Size: 1020 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Runner Tracker Back-end
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-)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)
![]()
![]()
![]()
JavaScript,
Node.js,
PostgreSQL,
Express.js.Client
Back-end
Package Manager
Linters
- **It tracks training progress.**
- **It shows progress with a graph to let the user visually see improvements.**
[Live Demo Link](https://running-track-acf8bf94dcd3.herokuapp.com)
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!
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)".
👤 **Julio Quezada**
- GitHub: [Alejandroq12](https://github.com/Alejandroq12)
- Twitter: [@JulioAle54](https://twitter.com/JulioAle54)
- LinkedIn: [Julio Quezada](https://www.linkedin.com/in/quezadajulio/)
- [ ] **I will improve security.**
- [ ] **I will improve performance.**
- [ ] **I will reuse some React.js components to avoid repetition.**
Contributions, issues, and feature requests are welcome!
Feel free to check the [issues page](../../issues/).
If you like this project give me a star ⭐️.
I want to thank all my colleagues that share knowledge with and inspired to to improve each day.
- **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.
This project is [LICENSE](./LICENSE) licensed.