Skip to content

Backend API for the 'Decisions' app - Northcoders JavaScript Software Development bootcamp group project

Notifications You must be signed in to change notification settings

smlbrd/decisions-api

Repository files navigation

Decisions API

📖 Table of Contents

❓ About

This RESTful API has been built to access application data programmatically using CRUD operations.

The intention is to create a dynamic system for storing and sharing user-generated data, which provides information to frontend architecture.

It allows a client to perform create, read, update and delete (CRUD) operations on user accounts (with appropriate permissions!) and user groups, as well as customising personal lists of options to use in collaborative decision-making processes with other users. It accepts complex database queries using parametric endpoints, manipulating data to sort and filter the response.

The project has been designed with the Model View Controller (MVC) pattern, and developed using Test-Driven Development (TDD).

A hosted version of this project is available online here.

The frontend component of this project can be viewed here

Please be patient when clicking links for live versions, as they can take a minute or two to spin up for the first time!

Please note: Your browser may require an extension to format the JSON file to be a little easier to read. For Chrome users, this one comes highly recommended!

🚀 Getting Started

These instructions will get a copy of this project running on your local machine for development and testing purposes.

⛏️ Prerequisites

We need to create a clone of the repository, install some dependencies and set up our testing and development databases.

This API uses Node.js and MongoDB for database interactions, so please ensure your installation meets the following minimum requirements:

- Node v22.8.0
- MongoDB v6.12.0

🐏 Cloning this repository

Open your terminal, navigate to the directory where you'd like to copy this repo, and run the following command:

git clone https://github.com/smlbrd/decisions-api.git

⛓️ Installing dependencies

To run this API, we'll need to install some dependencies using the following terminal command:

npm install

🗄 Database Management

📂 Database setup

To set up test and development databases and run this API, create these 2 files in the root of your directory:

  • .env.test

    • This file should contain: MONGODB_URI
  • .env.development

    • This file should contain: MONGODB_URI

Now we're ready to seed our databases!

🌱 Database seeding

Now we have our databases set up, we can seed them with the following command:

npm run [DEV DATABASE SEED COMMAND]

🧪 Testing

The test suite for this project can be run with the following command:

npm test

🧑‍💻 Running a local server

That's it - you're good to go! Run the following command to start your local server:

npm start

Have fun, and thank so much for taking a look at our work! 🙌

🎉 Special Thanks

This project gratefully depends on the work of:


This group project was built by Abby Davis, Alexandre Izumi, Dhiran Sodha, James Sewter, Wren Hawthorne & Zeineb Mukhtar as part of a Digital Skills Bootcamp in Software Engineering provided by Northcoders

About

Backend API for the 'Decisions' app - Northcoders JavaScript Software Development bootcamp group project

Resources

Stars

Watchers

Forks

Contributors 5