Giter Site home page Giter Site logo

jamlink-server's Introduction

Jamlink

Back-end Repository (Node.js with Express)

Table of Contents

  1. Table of Contents
  2. Description
  3. Setup
  4. File Structure
  5. Used Technologies
  6. API end Points
  7. License
  8. Contact

Front-end Repository

Description

Jamlink is a web application created during the Ironhack bootcamp, providing a social platform for musicians. The application aims to connect musicians who want to organize and participate in jam sessions. Some key features of Jamlink include:

  • Musician Profile: Create and customize your musical profile, showcasing your instruments, skills, and preferences.
  • Social Network: Connect with other musicians, add them as friends, and discover new musical talents in the community.
  • Jam Events: Create your own jam session events, specifying the date, time, location, and desired instruments.
  • Event Participation: Join jam session events organized by other musicians, indicating the instrument you'd like to play.
  • Friends List: Build a list of musical friends with whom you can interact, collaborate, and organize private jam sessions.
  • Comment Interaction: Leave comments on events and profiles of other musicians to encourage communication and collaboration.

Setup

Prerequisites

Make sure you have Node.js installed on your machine before getting started.

Follow the steps below to setup the application in your local development environment:

  1. Install dependencies
npm install
  1. Run the application
npm run dev

The application will open automatically on localhost (port 5005 if it's not in use already).

Scripts

The following commands can be found in the package.json file in the project root. To execute them, simply use the command the following way:

npm run <command>
Command Description
start Starts the Node.js server for production.
dev Starts the server with nodemon for development.

Environment variables

Variable Description
PORT Port for the API
ORIGIN App origin/title
MONGODB_URI MongoDB connection URI
TOKEN_SECRET Secret key for authentication
CLOUDINARY_NAME Cloudinary account name
CLOUDINARY_KEY Cloudinary API key
CLOUDINARY_SECRET Cloudinary API secret

File Structure

The file structure in the Jamlink front-end is organized as follows:

.
|-- .github/
|-- config/  
|-- controllers/  
|-- db/  
|-- error-handling/
|-- middleware/  
|-- models/ 
|-- routes/     
|-- .gitignore
|-- README.md
|-- app.js
|-- package-lock.json
|-- package.json
|-- server.js

Used Technologies

  • Back-end:

    • Express - Web framework for Node.js used on the server.
    • Node.js - Runtime environment for JavaScript on the server side.
    • MongoDB - NoSQL database used for data storage.
    • Axios - Promise-based HTTP client for the browser and Node.js.
  • Tools and Utilities:

    • GitHub Actions - For continuous integration and automatic deployment.

API end Points

User routes
Base URL : /user
HTTP Method URI path Description
GET /getAllUsers All users list
GET /:id Matching ID user details
PUT /:id/edit Matching ID user edition
DELETE /:id/delete Matching ID user deletion
Events routes
Base URL : /events
HTTP Method URI path Description
GET /getAllEvents All events list
POST /saveEvent Create new event
GET /:id Matching ID events details
PUT /:id/edit Matching ID events edition
DELETE /:id/delete Matching ID events deletion
Auth routes
Base URL : /auth
HTTP Method URI path Description
POST /signup Signup user
POST /login Login user
GET /verify Verify Auth token

License

This project uses various technologies and resources, each with its respective licenses. Below is the license information for the main technologies and tools used in the front-end:

Back-end

Tools and Utilities

Contact

Created by Nacho Sansón.

Contributors:

jamlink-server's People

Contributors

nachosanson6 avatar piltrimon86 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.