Skip to content

Latest commit

 

History

History
759 lines (601 loc) · 13.9 KB

README.md

File metadata and controls

759 lines (601 loc) · 13.9 KB

Introduction

Welcome to the backend repository of Lynk Up! Lynk Up is a social event management app designed to streamline the organization, attendance, and management of events across different friend groups. This repository houses the codebase for our backend services, intricately crafted using Python and the Django REST framework.


Table of Contents


Directory

Hosted Website

Hosted Server

Client Repository

About

Our backend services are at the heart of the Lynk Up app. They manage data, ensure smooth API integrations, provide secure user authentication, enable efficient event management, and prompt notification services. With Python and Django REST framework, we ensure a fast, reliable, and secure environment for our users.

Tech Stack

  • Python: Our primary programming language offering simplicity and versatility.
  • Django REST Framework: Used for building APIs, ensuring a scalable and secure connection between our frontend and backend services.

Key Features

  1. Data Management: Employs Django ORM for seamless database queries and data manipulation.
  2. API Integrations: Manages and integrates external APIs to augment app functionality.
  3. Event Management: Handles all CRUD operations related to events, enabling the creation, updates, deletions, and RSVP functionalities.

Getting Started

  1. Clone the Repository: Get started with Lynk Up Backend by cloning the repository to your local machine.
  2. Install Dependencies: Navigate into the cloned repository and install necessary dependencies.
  3. Start the Server: Fire up the Django server. Note: Please ensure you have Python and pip installed on your machine before running these commands.

RESTful Endpoints

Base url to reach the endpoints listed below:

https://lynk-up-server.onrender.com
All Endpoints

Get a User

GET /users/:user_id/
Details

Request:

No Parameters
Code Description
200 OK

Response:

{
    "data": {
        "id": "1",
        "attributes": {
            "user_name": "Tesseract",
            "phone_number": "888-888-8888",
            "full_name": "Antonio King Hunt",
        },
        "events": [
            {
                "id": 1,
                "group": 1,
                "group_name": "Best Buds",
                "title": "Magic Tournament",
                "date": "05-23-2023",
                "time": "7:00pm",
                "address": "123 fun st.",
                "description": "Fun times with fun people"
            },
            {etc}
        ]
    }
}
Code Description
404 NOT FOUND

Response:

{
    "error": [
        "title": "NOT FOUND",
        "status": "404"
    ]
}

Get an Event

GET /events/:event_id/
Details

Request:

{
    "event_id": 1
}
Code Description
200 OK

Response:

{
    "data": {
        "id": 1,
        "group": 1,
        "group_name": "Best Buds",
        "title": "Magic Tournament",
        "date": "05-23-2023",
        "time": "7:00pm",
        "address": "123 fun st",
        "description": "Fun times with fun people"
    }
}
Code Description
404 NOT FOUND

Response:

{
    "error": [
        "title": "NOT FOUND",
        "status": "404"
    ]
}

Create Event

POST /events/
Details

Request:

    {
        "title": "Party at the Park",
        "date": "05-23-2023",
        "time": "6:00pm",
        "address": "6 Paper st",
        "description": "PARTY!",
        "group": 1
    }
Code Description
201 Created

Response:

{
    "id": 2,
    "group": 1,
    "group_name": "Best Buds",
    "title": "Party at the Park",
    "date": "05-23-2023",
    "time": "6:00pm",
    "address": "6 Paper st",
    "description": "PARTY!"
}

Delete Event

POST /events/:event_id/
Details

Request:

{
    "event_id": 1,
}
Code Description
204 NO CONTENT

Response:

No Response

Errors:

Code Description
404 NOT FOUND

Get all Events

GET /events/
Details

Request:

No Parameters
Code Description
200 OK

Response:

{
    "data": [
        {
            "id": 1,
            "group": 1,
            "group_name": "Best Buds",
            "title": "Magic Tournament",
            "date": "05-23-2023",
            "time": "7:00pm",
            "address": "123 fun st",
            "description": "Fun times with fun people"
        },
        {
            "id": 2,
            "group": 1,
            "group_name": "Best Buds",
            "title": "Party at the Park",
            "date": "05-23-2023",
            "time": "6:00pm",
            "address": "6 Paper 2t",
            "description": "PARTY!"
        },
        {
            "id": 3,
            "group": 2,
            "group_name": "Gal Pals",
            "title": "Galentine's Day",
            "date": "02-13-2024",
            "time": "12:00pm",
            "address": "49th st",
            "description": "Hanging with Leslie, April, Ann, and Donna"
        },
        (etc.)
    ]
}
Code Description
404 NOT FOUND

Response:

{
    "error": [
        "title": "NOT FOUND",
        "status": "404"
    ]
}

Get a Users' Friends

GET /users/:user_id/friends/
Details

Request:

No Parameters
Code Description
200 OK

Response:

{
    "data": {
        "friends": [
            {
                "user_id": 1,
                "user_name": "Joe Fogiato"
            },
            {
                "user_id": 2,
                "user_name": "Dawson T"
            }
        ]
    }
}
Code Description
404 NOT FOUND

Response:

{
    "error": [
        "title": "NOT FOUND",
        "status": "404"
    ]
}

Create Friend

POST /users/:user_id/friends/
Details

Request:

{
    "friend_id": 1,
    "user_id": 1
}
Code Description
201 Created

Response:

{
    "data": {
        "friends": [
            {
                "user_name": "Harrison Ryan",
                "user_id": 1
            },
            {
                "user_name": "Joe Fogiato",
                "user_id": 3
            },
            {
                "user_name": "Antonio KH",
                "user_id": 4
            },
            {
                "user_name": "Trevor Fitz",
                "user_id": 5
            }
        ]
    }
}

Delete Friend

POST /users/:user_id/friends/
Details

Request:

{
    "friend_id": 1,
}
Code Description
204 NO CONTENT

Response:

No Response

Errors:

Code Description
404 NOT FOUND

Get all Groups

GET /groups/
Details

Request:

No Parameters
Code Description
200 OK

Response:

{
    "data": [
        {
            "id": 1,
            "name": "Best Buds",
            "updated": "2023-05-23T23:35:10.294701Z",
            "created": "2023-05-23T23:35:10.294724Z",
            "user": 1,
            "friends": [
                1,
                2,
                (etc,)
            ]
        },
        {
            "id": 2,
            "name": "Gal Pals",
            "updated": "2023-05-24T16:46:29.542505Z",
            "created": "2023-05-24T16:46:29.542545Z",
            "user": 1,
            "friends": [
                1,
                2,
                3,
                (etc,)
            ]
        },
        (etc,)
    ]
}
Code Description
404 NOT FOUND

Response:

{
    "error": [
        "title": "NOT FOUND",
        "status": "404"
    ]
}

Get a Group

GET /groups/:group_id/
Details

Request:

No Parameters
Code Description
200 OK

Response:

{
    "data": {
        "id": 1,
        "name": "Best Buds",
        "updated": "2023-05-23T23:35:10.294701Z",
        "created": "2023-05-23T23:35:10.294724Z",
        "user": 1,
        "friends": [
            1,
            2,
            (etc,)
        ]
    }
}
Code Description
404 NOT FOUND

Response:

{
    "error": [
        "title": "NOT FOUND",
        "status": "404"
    ]
}

Delete Group

POST /groups/:group_id/delete/
Details

Request:

{
    "group_id": 1,
}
Code Description
204 NO CONTENT

Response:

No Response

Errors:

Code Description
404 NOT FOUND

Team

Andra Helton Antonio King Hunt Dawson Timmons Harrison Ryan William Lampke
github Github
linkedin LinkedIn
github Github
linkedin LinkedIn
github Github
linkedin LinkedIn
github Github
linkedin LinkedIn
github Github
linkedin LinkedIn

Contact

For any questions or suggestions, please open an issue in this repository.

Contribute

We're excited to welcome contributions from everyone, irrespective of their experience level. Your input is crucial in helping us make Lynk Up better. Let's collaborate and build a top-notch social event management app together!

Licensing

This project is intended to be open source. While a specific license has not been chosen yet, it is our intention to make the code and resources freely available for others to use, modify, and distribute. Until a license is selected, all rights to the code, documentation, and other project resources are reserved. Unauthorized use, distribution, or modification of any part of this project is prohibited.


Thank you for being part of our community! Together, let's make Lynk Up the best social event management app on the market.