Coder Social home page Coder Social logo

cribtrakr-client's Introduction

Status

Build Status

CribTrakr

Keeps track of user's rental properties and associated expenses by allowing user to:

  • add property info like address, picture and related expenses.
  • edit or delete info pertaining to any property or expense.
  • filter expenses based on property or a date range.

Links

Live App:

https://cribtrakr.netlify.com/

Demo Account Credentials:
Username: demo
Password: password

Server Github Repo: https://github.com/maddiereddy/cribtrakr-api
Client Github Repo: https://github.com/maddiereddy/cribtrakr-client

To Run Locally

Git Clone this repo
cd into folder
npm install
npm start
Add .env file with API URL and variable name REACT_APP_API_BASE_URL

API

I built my own RESTful API which will allow users to add, delete, get and update all rental properties and related expenses. Hosted at https://evening-oasis-38989.herokuapp.com/

API endpoints

GET

All Rental Properties .../api/rentals/
A particular property .../api/rentals/:id
All expenses .../api//expenses
All expenses for a property .../api/expenses/prop/:propId
A particular expense .../api//expenses/:id

PUT

Update property .../api/rentals/:id
Update an expense .../api/expenses/:id

DELETE

Delete property .../api/rentals/:id
Delete expense .../api/expenses/:id

POST

Add a new property .../api/rentals/
Add a new expenses .../api/expenses/

Technology Stack

Front End

  • React
  • Redux
  • HTML
  • CSS
  • Enzyme
  • Jest

Server Side

  • Node
  • Express
  • Mongoose
  • MongoDB
  • Mocha
  • Chai

Screenshots

Landing page:

landing page

My Rental Properties page:

rental properties page

Details page:

details page

Expenses page:

expenses page

Nice-to-have-features for future version

  • Ability to add images of expense receipts
  • Be able to search/filter expenses by a phrase or name
  • Create reports (for export and printing). This would be useful for tax preparation

cribtrakr-client's People

Contributors

maddiereddy avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

thujone matrayu

cribtrakr-client's Issues

localstorage auth token

Interesting that localstorage is used instead of cookies, which are generally seen as safer and more reliable for things like auth tokens.

section html tag

I believe this is improperly used. A section is not an item in a list. It's supposed to describe different parts of a document.

your text editor has weird tab expand settings

Make sure your IDE / text editor has the standard setting for tabs. A tab should be expanded into either 2 or 4 spaces. There are tutorials on how to set this up for various editors, and why it's important to do so.

improper use of < br>

You're not supposed to use < br > like this really. And if you do, it's not a self-closing tag, so it should not have a self-closing slash inside it. It's just <br>

:propId

I'm guessing this :propId could and probably should be removed from the URL. You have to look up the expense in the DB anyway, and I'm guessing you'll get back the property ID at that point. Is there a reason to pass the propId in the URL?

import all

Might be easier to import '*' rather than worry about each action name.

clearInterval doesn't work well

I can't imagine this to be a good way to remove an interval. Intervals are window (global) level. A component unmounting is not. There could easily be cases where clearInterval() doesn't work, and you might end up having multiple intervals running at the same time. I'd recommend just changing the session length to be (much) longer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.