Express Sweater Weather is a 6-day, solo project during module four of four, of Turing School's Back-End Engineering Program.
Express Sweater Weather is a web application designed to consume/produce API's. The application utilizes Node.js, Expess and Sequelize, with a PostgreSQL database, to consume the Dark Sky API for weather, and the Google Maps API for geocoding.
To run Express Sweater Weather on a local machine, navigate to the directory in which you would like the project to be located in, then execute the following commands:
$ git clone [email protected]:Mackenzie-Frey/express_sweater_weather.git
$ cd express_sweater_weather
$ npm install
Sign Up for the following APIs:
Create a .env
file in the root directory of the project. Add .env
to the .gitignore
file. Make sure to insert the secret key without the alligator clips ( < > ).
google_key=<insert>
dark_sky_key=<insert>
To run the test suite, execute the following command: npm test
. The tests will automatically run each time an update is made to the application.
To view Express Sweater Weather in development, execute the following command from the project directory: nodemon npm start
. To view the application in a web browser, visit localhost:3000
and navigate the the desired endpoint.
POST /api/v1/users, params: { email: [email protected], password: password123, password_confirmation: password123 }
POST /api/v1/sessions, params: { email: [email protected], password: password123 }
GET /api/v1/forecast?location=<location name ie denver,co>
POST /api/v1/favorites, body: {"location": "Denver, CO", "api_key": "<returned api_key>"}
GET /api/v1/favorites, body: {"api_key": "<returned api_key>"}
DELETE /api/v1/favorites, body: {"location": "Denver, CO", "api_key": "<returned api_key>"}
- Dark Sky API
- Google Maps API
- Postman
- bcrypt
- dotenv
- node-fetch
- pryjs
- babel-jest
- nodemon
- scriptjs
- shelljs
- supertest
- Account Creation -> Non-Unique Email
- Upon account creation via a
POST
request to/api/v1/users
, users are currently able to create a duplicate record in the system, utilizing the same email address.
- Fork the project.
- Write a failing test.
- Commit that failing tests.
- Commit changes that fix the tests.
- Submit a pull request detailing the change that was made.
- Search the existing issues.
- Create a new issue if applicable, or contribute to an existing issue.