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!
These instructions will get a copy of this project running on your local machine for development and testing purposes.
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
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
To run this API, we'll need to install some dependencies using the following terminal command:
npm install
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
- This file should contain:
-
.env.development
- This file should contain:
MONGODB_URI
- This file should contain:
Now we're ready to seed our databases!
Now we have our databases set up, we can seed them with the following command:
npm run [DEV DATABASE SEED COMMAND]
The test suite for this project can be run with the following command:
npm test
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! 🙌
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