Node web app for synchronizing activities from Strava to kilometrikisa.

Overview

Strava2kilometrikisa-2

A fork from the original Strava2Kilometrikisa app. Goal is to modernize the code and port the project to Typescript.

An application to fill the gap between Strava and Kilometrikisa.

Development

  1. Run $ docker-compose up -d to spin up local Mongodb instance
  2. Grab yourself some Strava API credentials
  3. Copy and configure .env.example to .env and fill in the missing values
  4. $ source .env
  5. $ nvm use
  6. $ npm install
  7. $ npm run dev

Deployment

The app should be easy to deploy to modern cloud environments. Basically all you need is to run the main app process and syncing process. Following examples are for deploying to Heroku.

Local

After setup run npm run deploy to run tests and then deploy master branch to the Heroku.

Github Actions

Trigger Deploy to Heroku flow from the Github Actions manually.

Database

This app uses a MongoDB database.

How to contribute

We would love your input! Check out how to contribute here.

Comments
  • Add

    Add "Delete my data"-button

    Description of change

    Adds button to /profile to delete all user data on the site and log them out.

    Related issue

    Fixes #17

    How has this been tested?

    Manually.

    Screenshots (if appropriate):

    image image
    opened by hannupekka 1
  • Update README and .env.example

    Update README and .env.example

    Description of change

    README.md had some formatting issues in the list for development instructions. Also updated .env.example with instructions on how to find out Kilometrikisa competition ID (works also before the competition starts).

    Related issue

    None.

    How has this been tested?

    Visually :)

    Screenshots (if appropriate):

    Before

    image

    After

    image
    opened by hannupekka 1
  • Add possibility to delete own data

    Add possibility to delete own data

    It would be nice to have a possiblity for the user to delete all of their data from the database. Maybe just add a button to the account page "Delete all my data" etc. which prompts for verification and then deletes the row in the db containing the same stravaId as in user's session.

    enhancement good first issue 
    opened by Tumetsu 0
  • Setup cron worker to run on main app

    Setup cron worker to run on main app

    Description of change

    Run worker in the main app for Heroku hobby plan. While it might be a good idea to run this in Heroku worker dyno, to save some hosting costs try to run it on web dyno. The code is async and shouldn't be that heavy anyway so I think it should be fine. Will be enabled in Beta for some time to see if any problems arise.

    opened by Tumetsu 0
  • Refactor package json and author info etc

    Refactor package json and author info etc

    Description of change

    Update some npm packages to remove critical security concerns and remove obsolete pieces of information from the site referring to previous developers and replacing those with Github links etc.

    opened by Tumetsu 0
  • Migrate ts

    Migrate ts

    Description of change

    Port to Typescript. Not completely verified in production just yet and missing unit tests etc. but better have this merged now for easier continued effort.

    opened by Tumetsu 0
  • I am not going to host this service publicly

    I am not going to host this service publicly

    I exchanged emails with Kilometrikisa.fi about this app and ultimately decided that I'm not personally going to host this publicly. Main reasons being that I personally probably don't have time to maintain the production environment nor I feel that comfortable hosting a public service which stores users' usernames and passwords in its database in a reversible form, encrypted or not.

    Personally I think the best option would be that Kilometrikisa.fi allows direct integration to Strava or exposes a public API for app developers instead of the current solution.

    That being said they have certainly recognized the wish of community to have a Strava sync feature and as far as I can tell they seem to be open to make it possible as long as you cooperate with them. So if anyone (or their company/employer) would be willing to make this happen (with this project as a base or as a separate project), I'd encourage you to be in contact with them.

    I'll leave this repository here in case anyone of you wants to host it or develop it further with Kilometrikisa.fi.

    opened by Tumetsu 3
  • Add mention about cookie usage to the FAQ

    Add mention about cookie usage to the FAQ

    The site uses cookies only for necessary functions and doesn't contain tracking cookies etc. However, it might be good to be explicit about this because of GDPR. Maybe just adding a mention of this to the FAQ page explaining that the site uses only cookies which are required for it to function is enough (since no permission from user can/should be asked for them).

    Could be something like: "What is the cookie policy?" "Only cookies which are essential for site's functionality are used."

    good first issue 
    opened by Tumetsu 0
  • Separate frontend and backend code on top level

    Separate frontend and backend code on top level

    We should separate frontend and backend code in top level instead of having the frontend JS inside the app/assets/ directory where webpack picks it up and for bundles to the app/assets/dist directory. Maybe something like

    assets/
    src/
      frontend/
        js/
        scss/
      backend/
        <backend files here...>
    
    opened by Tumetsu 0
  • Refactor routing and Express setup

    Refactor routing and Express setup

    At the moment everything related to app routing and app setup of the Express in general have been stuffed to the index.ts as in the old app. It would not be a bad idea to go through the code and organize that to sensible separate files.

    There is probably some common practices how routes etc. are usually organized in (small) Express apps.

    opened by Tumetsu 0
  • Update Webpack and plugins from 4 -> 5

    Update Webpack and plugins from 4 -> 5

    Some of the depedencies of old webpack plugins have potential security vulnerabilities as reported by npm audit and dependabot. We should update webpack to version 5 to get rid of those.

    opened by Tumetsu 0
Owner
Tuomas Salmi
Tuomas Salmi
A web app designed to keep track of activities that are done and those that are and not done. Users can add, delete, mark as completed and update the activities. Built with Javscript, html, css and webpack.e your activites

ToDoListApp A web app designed to help web keep track of activities that are done and those that are still pending. Users can add, delete, mark as com

Francis Wayungi 6 Dec 23, 2022
A simple app that helps a user monitor daily activities by adding, storing and deleting activities.Built with HTML,CSS and JavaScript

To-do-list A simple list app that allows a user to add and remove tasks. Built With HTML CSS JS Webpack Live Demo Click To-do-list to see the page. Ge

Catherine K 7 Apr 8, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A progressive web app to help volunteers track their volunteering activities, register vet concerns and log incident reports.

POOPS - Pets of Older Persons 2022 Introduction This is a Next.js project bootstrapped with create-next-app. Getting Started First, install yarn: npm

Coders for Causes 17 Jan 3, 2023
This app was build to store your activities through the day, using HTML, CSS and JavaScript all working with Webpack.

to-do-list In this project i create a To Do List using webpack. This project allows user to add, remove and mark as complete tasks. Built With HTML CS

null 5 May 9, 2022
A To-Do-List app designed to help users organise their daily activities

A To-Do-List app designed to help users organise their daily activities. it simply creates a list of things you want to do and allows you to mark them as complete. It was built with HTML, CSS and JavaScript.

Eshetu Melaku 10 Jun 9, 2022
A todo list app where one can create activities to do, and delete them when completed. Created with JavaScript.

My ToDo List project ToDo List: setup the structure. Built With HTML, CSS, JS ESLint, Stylelint, Web Hint, Lighthouse Online Version Link This project

John Nduati Kagiri 8 Jul 21, 2022
To Do list app. Very useful to keep track of daily activities. Made with ❤️, JavaScript and bundle with Webpack

To Do List ⚙️ This is a To Do list App to practice Javascript and Webpack deployment. Live Demo ⚙️ GitHub Pages: DEMO Tech ⌘⇧ HTML & CSS best practice

Raul Ospina 11 Oct 17, 2022
This is an app that helps people keep track of all their activities for a period of time.

To-Do List This is an app that helps people keep track of all their activities for a period of time. They can be able to see what activities they have

Abubakar Ummar 6 Oct 17, 2022
Jumpstart Your Static Web Apps Learning Journey with #30Days Of Content and Activities

30DaysOfSWA - A Learning Journey Welcome to #30DaysOfSWA - a project to give beginners and experienced developers a tour of Azure Static Web Apps from

null 42 Nov 23, 2022
📝 Application to help you focus on your daily activities.

INFOCUS-API Focus on your tasks! ?? ?? Topics: about the project methodology and design libs and tools authors ?? About the Project: ?? Infocus: Is a

Marcos Guilherme Goulart Moraes Campos 2 Nov 1, 2022
Clinton Mbonu 20 Jun 30, 2022
Application that uses the localStorage to keep the information on the activities that are pending to be done and also those that are completed

Application that uses the localStorage to keep the information on the activities that are pending to be done and also those that are completed. It provides an option to edit activities and also delete them. The clear all applies to those that are marked as completed by selecting the checkbox.

Oscar Bermudez 8 Apr 8, 2022
The project focused on creating To do list structure for organising the daily completed or non-completed activities.

Project to build a simple HTML list of To Do tasks. The list will be styled according to the specifications given by Microverse This simple web page will be built using webpack and served by a webpack dev server.

NTIHINDUKA ALPHA 5 May 20, 2022
The website which can help you to organize your daily or weekly activities and review them when you need them. you can add, remove and delete an activity

To Do list To do project is webpack project that list activities someone can do at a specific time In this TO-DO list, you can add or remove you activ

Joffrey NKESHIMANA 5 Jul 21, 2022
A simple project to keep track of your activities. It allows basic CRUD operations to organize your to do list.

todo-list A simple project to keep track of todo list. Built With HTML CSS Javascript Webpack Live Demo You can checkout the live version here Getting

Abdelmejid Oumer Ali 9 Jul 20, 2022
Powerful interactive, editable to Do list. keep track of your activities

Project Name To do List Built With HTML CSS webpack Live Demo Live Demo Link Getting Started To get a local copy up and running follow these simple ex

Federico Luna 8 Sep 2, 2022