{"id":22542872,"url":"https://github.com/dymoy/nookly","last_synced_at":"2026-04-09T07:32:10.239Z","repository":{"id":222402023,"uuid":"756635355","full_name":"dymoy/nookly","owner":"dymoy","description":"Unlock the value of your unwanted household items with Nookly: Recycle Home Items.","archived":false,"fork":false,"pushed_at":"2024-02-26T01:26:50.000Z","size":1722,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T08:29:51.518Z","etag":null,"topics":["express","express-handlebars","express-session","multer","mysql","orm","sequelize-orm"],"latest_commit_sha":null,"homepage":"https://dymoy-nookly-ba5930951a44.herokuapp.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dymoy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-13T01:58:02.000Z","updated_at":"2024-02-24T07:55:48.000Z","dependencies_parsed_at":"2024-02-16T02:27:38.829Z","dependency_job_id":"348f453f-7723-40d5-a7a2-b5ef1e040f31","html_url":"https://github.com/dymoy/nookly","commit_stats":null,"previous_names":["dymoy/nookly"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dymoy%2Fnookly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dymoy%2Fnookly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dymoy%2Fnookly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dymoy%2Fnookly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dymoy","download_url":"https://codeload.github.com/dymoy/nookly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245991561,"owners_count":20706126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["express","express-handlebars","express-session","multer","mysql","orm","sequelize-orm"],"created_at":"2024-12-07T13:13:12.182Z","updated_at":"2025-12-30T23:21:03.393Z","avatar_url":"https://github.com/dymoy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nookly: Recycle Home Items \n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n## Description \n\nUnlock the value of your unwanted household items with Nookly: Recycle Home Items.  \n\nNookly is an application that follows the MVC paradigm in its architectural structure, using Handlebars.js as the templating language, Sequelize as the ORM, and the express-session npm package for authentication. \n\nOur platform connects sellers with buyers that are passionate about sustainability and creating a seamless marketplace for recycling within your community. Join us in reshaping the way we think about decluttering!\n\nThis project defines 3 Sequelize models and utilizes the `express-session` model: \n1. `User`\n2. `Listing`\n3. `Comment`\n\nThe database is mapped according to the following schema:  \n\n![Image of Schema Architecture](./assets/docs/nookly_schema_architecture.png)\n\n\n## Table of Contents \n- [Installation](#installation)\n- [Dependencies](#dependencies)\n- [Usage](#usage)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [License](#license)\n- [Questions](#questions)\n  \n## Installation \n\nThere is no installation necessary as this application is deployed to Heroku. You can visit the deployed application [here](https://dymoy-nookly-ba5930951a44.herokuapp.com/) and try it out! \n\nIf you would like to run the application locally, use the following steps:\n1. Clone this repository to your local machine. (For reference, visit the [Cloning a Repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) GitHub Docs article.)\n2. Run `npm install` in your CLI to download the npm package dependencies. \n3. Run `mysql -uroot -p` in your CLI and log into MySQL.\n4. Run `source db/schema.sql` to create the database on your local machine.\n5. Exit out of MySQL by running `exit`.\n6. Run `npm run seed` in the root directory to seed the database.\n7. Run `npm run start` to sync the Sequelize models to the MySQL database and start the server.\n8. Open `http://localhost:3001` in your local browser. \n  \n## Dependencies\nThis project requires the following npm package dependencies:\n1. [aws-sdk-js-v3](https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3)\n2. [bcrypt](https://www.npmjs.com/package/bcrypt)\n3. [connect-session-sequelize](https://www.npmjs.com/package/connect-session-sequelize)\n4. [dotenv](https://www.npmjs.com/package/dotenv)\n5. [express](https://www.npmjs.com/package/express)\n6. [express-handlebars](https://www.npmjs.com/package/express-handlebars)\n7. [express-session](https://www.npmjs.com/package/express-session)\n8. [multer](https://www.npmjs.com/package/multer?activeTab=readme)\n9. [multer-s3](https://github.com/anacronw/multer-s3#readme)\n10. [mysql2](https://www.npmjs.com/package/mysql2)\n11. [sequelize](https://www.npmjs.com/package/sequelize)\n\n## Usage \n\nThe animation gif below demonstrates the app's functionality:  \n![Animation Gif of app functionality](./assets/docs/nookly_usage.gif)  \n\n### Home Page Usage\n- The user will see listings on the Home page that are not sold yet \n- The user will be able to click each listing to expand it and view comments \n    - Once the user is logged in, they will be able to add comments of their own under listings \n- Each listing will have a comment count displayed to show the user how much attention the listing is getting\n\n### Profile Page Usage \n- Once logged in, the user will be able to access their profile, where listings they have created will appear \n- Clicking the 'New Listing' button will render a card that prompts the user to enter information about their new listing, as well as an image \n- Once the listing is created, the user may click on each lisiting in their profile to update or delete it \n    - If the user marks the listing as sold, there will be a 'SOLD!' indicator on the corresponding post \n    - Once a listing is marked sold, it will be removed from the Home page\n\n### Login Page Usage \n- The user will have the option to login if they already have an account, or press the `Sign Up Instead` to create an account\n- Once logged in, the user will be redirected to their Profile page\n    - They will then be able to create new listings in the Profile page and add comments in the home page\n- The user will be alerted with an error if their credentials are incorrect \n\n### Sign Up Page Usage\n- The user will be able to create an account by filling all fields for the username, email, and password\n- If the user already has an account, they can press the `Login Instead` button to be redirected to the login page\n- Sign up will fail if the user doesn't enter a valid email or a password over 8 charaters long\n\n## Testing \nNo test suites have been written for this application. The API routes were tested locally during development with the [Insomnia](https://docs.insomnia.rest/) development platform.  \n\nPlease refer to the [Installation](#installation) section if you are interested in running and testing the application locally.\n\n## Contributing\nTo make contributions to this project:  \n1. Fork the repository  \n2. Make some commits to improve the application\n3. Open a Pull Request on GitHub\n4. From there, we can discuss your changes and merge the pull request once your contributions have been approved!\n\n## License \nThis GitHub repository is licensed under the MIT license. Please refer to the license documentation [here](https://opensource.org/licenses/MIT).\n  \n## Questions\nThis project was developed by the following contributors: \n1. [dymoy](https://github.com/dymoy)\n2. [Domj1204](https://github.com/Domj1204)\n3. [JaronG548](https://github.com/JaronG548)\n2. [H3Xivall](https://github.com/H3Xivall)\n\nFor any related questions, please contact me via email at \u003cderekymoy@gmail.com\u003e.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdymoy%2Fnookly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdymoy%2Fnookly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdymoy%2Fnookly/lists"}