๐ Table of Contents
๐ Skatepark App
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.
๐ Built With
Tech Stack
Frontend
Backend
Database
Key Features
- Signup using your email, name, password and signature movement!
- Log in to your account for more options. Uses JWT for authentication.
- Admin view for confirming new users.
๐ Live Demo
๐ป Getting Started
To get a local copy up and running, follow these steps.
Prerequisites
To run this project you need:
- Node.js
- ExpressJS
- PostgreSQL
- Handlebars
Setup
Clone this repository to your desired folder:
git clone [email protected]:jfoyarzo/SkateparkApp.git
For this app to work you need PostgreSQL. To create the database using the psql shell:
CREATE DATABASE skatepark;
And create a table using this command:
CREATE 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);
Also, you must provide valid credentials and port on file consultas.js
or use the provided .env.example
file.
Install
Install this project's dependencies with:
npm install
Usage
To start the server use the following command:
node index.js
This will serve the frontend on:
http://localhost:3000
To access the admin view:
http://localhost:3000/admin
๐ฅ Authors
๐ค Felipe Oyarzo
๐ญ Future Features
- Upgraded CSS styles
- Better notifications
- Admin feature
๐ค Contributing
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
โญ๏ธ Show your support
If you like this project please give it a โญ!
๐ License
This project is MIT licensed.