{"id":27656435,"url":"https://github.com/jfoyarzo/skateparkapp","last_synced_at":"2025-10-12T23:53:18.711Z","repository":{"id":67731800,"uuid":"551679726","full_name":"jfoyarzo/SkateparkApp","owner":"jfoyarzo","description":"App that enables users to sign up in a fictional Skate event and login afterwards using JWT authentication. Backend made with the Express framework for Node","archived":false,"fork":false,"pushed_at":"2023-04-17T18:49:12.000Z","size":2789,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-13T15:07:53.971Z","etag":null,"topics":["api","api-client","api-rest","api-server","bootstrap","express-handlebars","expressjs","jwt","jwt-token","nodejs","postgresql","postgresql-database"],"latest_commit_sha":null,"homepage":"","language":"Handlebars","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/jfoyarzo.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,"zenodo":null}},"created_at":"2022-10-14T21:52:55.000Z","updated_at":"2024-09-11T09:23:19.000Z","dependencies_parsed_at":"2025-04-24T06:27:50.310Z","dependency_job_id":"6d85752e-616a-4708-a3d9-10cfec6135f4","html_url":"https://github.com/jfoyarzo/SkateparkApp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jfoyarzo/SkateparkApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfoyarzo%2FSkateparkApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfoyarzo%2FSkateparkApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfoyarzo%2FSkateparkApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfoyarzo%2FSkateparkApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jfoyarzo","download_url":"https://codeload.github.com/jfoyarzo/SkateparkApp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jfoyarzo%2FSkateparkApp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013465,"owners_count":26085274,"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","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["api","api-client","api-rest","api-server","bootstrap","express-handlebars","expressjs","jwt","jwt-token","nodejs","postgresql","postgresql-database"],"created_at":"2025-04-24T06:20:38.943Z","updated_at":"2025-10-12T23:53:18.705Z","avatar_url":"https://github.com/jfoyarzo.png","language":"Handlebars","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/101157253/232580630-6340b658-7e89-4f68-bbdc-1a6b7603eb45.png\" style=\"height: auto; width: 900px;\"/\u003e\n\u003c/div\u003e\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\n# 📗 Table of Contents\n\n- [📗 Table of Contents](#-table-of-contents)\n- [📖 Skatepark App ](#-skatepark-app-)\n  - [🛠 Built With ](#-built-with-)\n    - [Tech Stack ](#tech-stack-)\n    - [Key Features ](#key-features-)\n  - [🚀 Live Demo ](#-live-demo-)\n  - [💻 Getting Started ](#-getting-started-)\n    - [Prerequisites](#prerequisites)\n    - [Setup](#setup)\n    - [Install](#install)\n    - [Usage](#usage)\n  - [👥 Authors ](#-authors-)\n  - [🔭 Future Features ](#-future-features-)\n  - [🤝 Contributing ](#-contributing-)\n  - [⭐️ Show your support ](#️-show-your-support-)\n  - [📝 License ](#-license-)\n\n\u003c!-- PROJECT DESCRIPTION --\u003e\n\n# 📖 Skatepark App \u003ca name=\"about-project\"\u003e\u003c/a\u003e\n\n**Skatepark App** is a full-stack app that enables users to sign up for a fictional Skate event. The users and their info is displayed on the homepage of the front end. It has an admin view where you can authorize the registration of users. The backend is an API REST server made with Node.js and the Express framework. Express-Handlebars is used to render the pages dynamically and the data is persisted using a PostgreSQL database. \n\n## 🛠 Built With \u003ca name=\"built-with\"\u003e\u003c/a\u003e\n\n### Tech Stack \u003ca name=\"tech-stack\"\u003e\u003c/a\u003e\n\n\n\u003cdetails\u003e\n  \u003csummary\u003eFrontend\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://github.com/express-handlebars/express-handlebars\"\u003eExpress-Handlebars\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eBackend\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://nodejs.org/\"\u003eNode.js\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"https://expressjs.com/\"\u003eExpress.js\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eDatabase\u003c/summary\u003e\n  \u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://www.postgresql.org/\"\u003ePostgreSQL\u003c/a\u003e\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n\n\u003c!-- Features --\u003e\n\n### Key Features \u003ca name=\"key-features\"\u003e\u003c/a\u003e\n\n\n- **Signup** using your email, name, password and signature movement!\n- **Log in** to your account for more options. Uses JWT for authentication.\n- **Admin view** for confirming new users.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LIVE DEMO --\u003e\n\n## 🚀 Live Demo \u003ca name=\"live-demo\"\u003e\u003c/a\u003e\n\n- [Live Demo Link](https://skatepark-app.onrender.com/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- GETTING STARTED --\u003e\n\n## 💻 Getting Started \u003ca name=\"getting-started\"\u003e\u003c/a\u003e\n\n\nTo get a local copy up and running, follow these steps.\n\n### Prerequisites\nTo run this project you need:\n\n- Node.js\n- ExpressJS\n- PostgreSQL\n- Handlebars\n\n### Setup\n\nClone this repository to your desired folder:\n\n```\ngit clone git@github.com:jfoyarzo/SkateparkApp.git\n```\n\nFor this app to work you need PostgreSQL. To create the database using the psql shell: \u003cbr\u003e\n```\nCREATE DATABASE skatepark;\n```\n\nAnd create a table using this command:\u003cbr\u003e\n```\nCREATE TABLE skaters (id SERIAL, email VARCHAR(50) NOT NULL, nombre VARCHAR(25) NOT NULL, password VARCHAR(25) NOT NULL, anos_experiencia INT NOT NULL, especialidad VARCHAR(50) NOT NULL, foto VARCHAR(255) NOT NULL, estado BOOLEAN NOT NULL);\n```\n\nAlso, you must provide valid credentials and port on file `consultas.js` or use the provided `.env.example` file.\n\n### Install\n\nInstall this project's dependencies with:\n\n```\nnpm install\n```\n\n### Usage\n\nTo start the server use the following command: \u003cbr\u003e\n```\nnode index.js\n```\n\nThis will serve the frontend on:\u003cbr\u003e\nhttp://localhost:3000 \u003cbr\u003e\n\nTo access the admin view: \u003cbr\u003e\nhttp://localhost:3000/admin\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- AUTHORS --\u003e\n\n## 👥 Authors \u003ca name=\"authors\"\u003e\u003c/a\u003e\n\n👤 **Felipe Oyarzo**\n\n- GitHub: [@jfoyarzo](https://github.com/jfoyarzo)\n- LinkedIn: [LinkedIn](https://www.linkedin.com/in/jorge-felipe-oyarzo-contreras/)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- FUTURE FEATURES --\u003e\n\n## 🔭 Future Features \u003ca name=\"future-features\"\u003e\u003c/a\u003e\n\n- [ ] **Upgraded CSS styles**\n- [ ] **Better notifications**\n- [ ] **Admin feature**\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## 🤝 Contributing \u003ca name=\"contributing\"\u003e\u003c/a\u003e\n\nContributions, issues, and feature requests are welcome!\n\nFeel free to check the [issues page](https://github.com/jfoyarzo/SkateparkApp/issues).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- SUPPORT --\u003e\n\n## ⭐️ Show your support \u003ca name=\"support\"\u003e\u003c/a\u003e\n\n\nIf you like this project please give it a ⭐!\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- LICENSE --\u003e\n\n## 📝 License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nThis project is [MIT](./LICENSE) licensed.\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfoyarzo%2Fskateparkapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjfoyarzo%2Fskateparkapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjfoyarzo%2Fskateparkapp/lists"}