In order to build this application, you're going to need a few things setup in your environment.
- Node 14 - First you need to make sure you install a version of node version 14. I recommend using nvm so that you can change your environment version easily.
- Postgres - You will need to have access to a postgres server in order to run this. You can setup any username or database you want, but make sure to put that information in the
.env
file. You can check out.env.example
for information on how to do this.. - Heroku CLI - You need the Heroku CLI to run the local server, as well as work with any dev hosting you may want to host. Among the other things this does, when you run
heroku local
it accesses the local.env
file for information about your database configuration.
yarn
- Update your depenedencies. You should do this every time you pull from github.heroku local
- Run the server. This hosts the backend.yarn dev
- Host a hot reloading version of the React client app.
- This project was bootstrapped with Create React App.
- Github - Place for storing git repositories and collaborating
- git - Technology for enabling version control
- Heroku - Free web hosting service perfect for tiny apps like these
- Getting started with node js
- Examples
- Create-react-app buildpack - Uncertain how this actually works with Heroku and Create-react-app
- Postgres - Database system that Heroku runs.
- React - UI framework for building visual apps
- Redux - State management system for React
- Figma - UI Design tool
- ExpressJS - Software for writing servers in NodeJS
- Font Awesome - Free icons
- src - Location for the React web client
- index.jsx - Starting point for React web client
- setupTests.js - Runs prior to running tests.
- *.test.js Files that test a component
- server - ExpressJS based server hosting backend and database access
- index.js - Starting point for server
- test.js - Starting point for server side tests
- public - HTML, images, etc that are uploaded directly
- build - Output of the yarn build command.
- *.env.example - Example .env file. Copy this into your folder.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
0.7.0
- Added category headings
- Added + button to categories
- UI fixes and adjustments
- Moved buttons up to menu bar on Add Items page
- Added 5 minutes of polling every 10 seconds while using the app
- Added ability to edit items and categories
0.6.1
- Fixed bug with dates not correctly being added to new items
0.6.1
- Fixed bug with dates not correctly being added to new items
0.6.0
- Major UI refresh
- Fixed bug in establishing a fresh database
- Added button to easily create new lists
- Added button to clear checked off items
- Switched backend access over to knex
- Added dates to items in the lists
- Fixed bug with adding the app to a home screen
0.5.0
- UX Cleanup on ViewList page. Smaller buttons
- Edit mode to protect against accidental deletions
- The ability to check things off without deleting them!
- Date added information!
- @orikalin rewrote the main part of the app!
- Added lots of database doodads, including database versioning and the ability to migrate to new versions of the db.
0.4.0
- Fixed scrolling list formatting
- Changed centering of text on most buttons
- Modified iconography to use Font Awesome