Back end documentation: https://documenter.getpostman.com/view/9937137/T17AiVxT?version=latest
This is my implementation of a back end for a project from a previous Build Week at Lambda School.
During the Build Week, my assignment was to build the marketing page and about page, which can be found here: https://lifegpa-bw.github.io/heather-ui/index.html
Now I am in the process of creating a custom back end for this project.
Node.js | Express | knex | Sqlite3 | PostgreSQL
General:
Security:
- CORS for Cross-Origin configuration.
- helmet for basic security adjustments to the server. It helps secure the app by setting certain HTTP headers.
- bcrypt for encrypting/hashing sensitive user data.
- jsonwebtoken for encoding/decoding/validating JWTs (JSON web tokens).
Testing:
Database:
- knex as the query builder and interface to sqlite3/postgres.
- sqlite3 Sqlite3, used for development
- pg PostgreSQL
In the future, I hope to create a custom front end as well.
If you gave your life a grade right now what would it be?
How would you rank your combined efforts in all your different life categories like personal development, professional goals, physical fitness, AND relationship building?
There are so many productivity and habit tracking apps out there to measure progress in one area or another, but nothing that measures your overall life with a single metric until now. Meet LifeGPA. An app designed to summarize your life’s most important efforts into a simple composite number.
Users can:
- Register
- Login
- Add goals they want to track, either picking from the list of pre-existing goals, or adding new goals
- Tell the app which goals they accomplished each day
- Update/delete their goals or account
App will:
- Organize goals according to category
- Show percentages of times a goal has been accomplished over a given time period
- Calculate an average percentage for a given category
- Calculate an average percentage overall
- Clone this repo
- To install all required dependencies:
$ npm i
-
Add environmental variables to .env file: PORT and JWT_SECRET
-
To start the local server:
$ npm run server
To run tests using the testing environment:
$ npm run test