-
Ask for API keys.
-
Create
.env
file like the example.env.sample
. -
Install all the package with ’npm install’.
-
Start with
npm run start
.
This project is based on the idea of various webpages like PureSurfers social networking by surfers for surfing. | By surfers for surfers.Surf Reports, Surf Forecasts and Surfing Photos - Magicseaweed.com, , World Surf League - The global home of surfing,Facebook - Entrar o registrarse…and many other. The idea is to connect the surfers of all of the country to go surfing together, know more about each other and help the surfing community to grow healthy. For that, the surfers can make events and published them at the app, so people can join in and go. These types of events could be competitions, training, beach bbq or just go surfing. In the other hand, like a user of the app you can rate some specs of every beach like the quality of water or sand, the height of the waves... so and app made for a surfer to surfers. Aloha!! 🤙
I'm always searching for the conditions of waves and seeing a lot of app I'm the only surfer in my family and I'm always going surfing alone. Some times it's cool to be alone in the water but if you don't share your time, your waves and your passion... is like that is missing something... For that reason, I decided to make a social network for surfers.
-
Make the route of auth.
-
Make the route of profile.
-
Make the route of surfer.
-
Make the route of beaches.
-
Make the route of events.
-
Make the route of reviews.
- Connect the MSW API.
Method | Path | Description | Body |
---|---|---|---|
GET | /whoami |
Who am i | |
POST | /signup |
Signup a user | { email, password } |
POST | /login |
Login a user | { email, password } |
GET | /logout |
Logout session |
Method | Path | Description | Body |
---|---|---|---|
GET | /profile |
Go to your profile | |
PUT | /profile |
Update your profile | { image, email, username, level, favoriteBoard, typesOfWaves, frequentsBeaches, myEvents, events} |
Method | Path | Description | Body |
---|---|---|---|
GET | /surfers-list |
Obtain all the surfer’s profile | |
GET | /surfers-list/:id |
Obtain specific info of a surfer |
Method | Path | Description | Body |
---|---|---|---|
GET | /events-list |
Obtain all the events | |
GET | /events-list/:id |
Obtain specific info of an event | |
POST | /events-list |
Create new event | { title, image, description, beach, owner, date } |
POST | /events-list/:id/add-participant |
Add new participant | |
POST | /events-list/:id/remove-participant |
Delete participant | |
DELETE | /events-list/:id |
Delete an event |
Method | Path | Description | Body |
---|---|---|---|
GET | /review-list |
Obtain all the reviews | |
POST | /review-list |
Add a review | |
DELETE | /review-list/:id |
Delete a review |
Method | Path | Description | Body |
---|---|---|---|
GET | /beaches-list |
Obtain all the beaches | |
GET | /beaches-list/:id |
Obtain specific info of a post |
- Surfer/User model
{
image: String;
email: String;
username: String;
level: String;
board: String;
typesOfWaves: Array;
frequentsBeaches: Array;
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at',
},
}
- Beach model
{
name: String;
image: String;
typesOfWaves: Array;
beachBackground: Array;
socialEnvironment: String;
description: String;
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at',
},
}
- Event model
{
user_id: ObjectId<User>;
title: String;
beach: String;
date: Date;
type: Array;
description: String;
participants: Array;
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at',
},
}
- Review model
{
user_id: ObjectId<User>;
title: String;
description: String;
timestamps: {
createdAt: 'created_at',
updatedAt: 'updated_at',
},
}
The url to the repository and to the deployed project.
Frontend: https://github.com/cgali/WAVES-frontend Backend: https://github.com/cgali/WAVES-backend