Skip to content

rumert/firetracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIT License LinkedIn


Logo

Firetracker

Personal Finance Tracker
View Website · Report Bug

Table of Contents
  1. About The Project
  2. Getting Started
  3. Roadmap
  4. License
  5. Contact

About The Project

This project is a combination of different frameworks and libraries. You can copy any part of it and use in your project.

Includes:

  • Database - some basic concepts using mongoose like query, schema, and expressions
  • api - various middlewares, controllers, loggers, and error handler
  • api security - bcrypt hash algorithm for jwt auth, rate-limiting, input validation and sanitization, header security
  • Testing - e2e tests using Cypress, integration tests using Mocha, and load testing using Artillery.
  • Caching - basic Redis caching for the api, reducing api response delay
  • Containerization - Docker containers for both app and api
  • CI/CD - Using Github Actions, building the app and making tests in Ubuntu. After successfull CI workflow, deployment of containers begins on self-hosted device from a cloud provider.
  • Various customized ui components from Shadcn: table, calendar, card, dropdown menu, popover etc.
  • Some next.js/react concepts like SSR and server actions
  • Nextjs middleware to handle cookies before generating pages
  • Custom jwt authentication

(back to top)

Built With

  • Express
  • React
  • Next
  • Radix
  • Tailwind

(back to top)

Getting Started

These are steps to install this project on your local using Docker

Prerequisites

  • Docker and docker compose

  • credentials from the following services:

    • access token and refresh token from jwt library
    • mongodb url from mongodb atlas
    • ai key from google ai studio

Installation

  1. Clone the repo

    git clone https://github.com/rumert/firetracker
    cd firetracker
  2. rename the .env.example file inside api/src to .env and write your credentials

  3. run this command inside the firetracker folder to build the containers:

    docker compose up
  4. visit localhost:3000 in your browser

(back to top)

Roadmap

  • Add Containerization
  • Add CI/CD
  • Microservices architecture
  • Add mocking for services

See the open issues for a full list of proposed features (and known issues).

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Rumert Kıran - rumertkiran@gmail.com

(back to top)

About

Personal Finance Tracker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published