Software Engineering Project - Group 12
Running the project
Instructions to run the project:
-
Download the code bundle from our GitHub repo as a zip file or by cloning it with:
git clone https://github.com/MystikHub/sweng-12.git && cd sweng-12
-
This repo contains 3 folders:
back-end
: this folder contains the code used for our back end to the dashboardback-end-reference
: this folder was used as a reference by our front end team during front end developmentfront-end
: this folder contains the code used for our front end to the dashboard
-
Our code doesn't include the Node.js modules we used or the json data, so to run the back end:
Make a new folder in back-end/backendData
and copy your JSON files into it (rawpurchases.json, rawredemptions.json, newstructure.json, totals.json, and vouchers.json). Then run:
cd back-end
yarn install
yarn start
This will start the back end running on localhost:3000
(port configurable near the top of app.js).
- Our front end doesn't include the Node.js dependencies either, but the startup process is simpler. In another terminal:
cd front-end
yarn install
yarn serve
This will start the back end running on localhost:8080
. If you're also running the back end, you should be able to see the new dashboard at that address.
About the project
We've been tasked by Squid Loyalty to come up with some new charts for their business dashboard. This repo hosts the front end and back ends for the new charts we're adding to their existing dashboard.
Working on features and charts using issues and branches
Whenever we start on a new feature or chart, go through these steps:
- For charts:
- Create an issue called "API Specification: <chart name>
- After you and your pair have decided on a format to serve and receive the data between the front and back end, make an issue for the front end "Chart: <chart name>" and an issue for the back end route "Back end route: <chart name>"
- Finally, you can start working on both sides of the chart on different branches. Branches for the front end of charts should be called
<issue number>-chart-<chart name>
and similarly for the back end<issue number>-backend-<chart name>
- For other features:
- Create an issue called after your feature, then after the issue has been finalized (and assuming some code needs to be written to resolve it) start working on the feature on a new branch called
<issue number>-<feature name>
- Create an issue called after your feature, then after the issue has been finalized (and assuming some code needs to be written to resolve it) start working on the feature on a new branch called
Github instructions
For Windows
- Download the git client from here
- Install the git client
- Open either command prompt, or gitbash
- Navigate to your documents or wherever you want to store the repository (Using cd in your terminal)
- Run the following command to clone the repo β‘
git clone https://github.com/MystikHub/sweng-12.git
- You've now got the repo down! π
- Navigate into the directory with the following command
cd sweng-12
- Run the
git pull
command to get the most up to date code.
For Linux
- Download git in your terminal with
sudo apt-get git
(Or similar, depends on your distribution) - Navigate to your documents or wherever you want to store the repository (Using cd in your terminal)
- Run the following command to clone the repo β‘
git clone https://github.com/MystikHub/sweng-12.git
- You've now got the repo down! π
- Navigate into the directory with the following command
cd sweng-12
- Run the
git pull
command to get the most up to date code.
For Mac
- Open your terminal (iTerm usually)
- Run the following command
git --version
- If git isn't installed you will be prompted to install it
- Navigate to your documents or wherever you want to store the repository (Using cd in your terminal)
- Run the following command to clone the repo β‘
git clone https://github.com/MystikHub/sweng-12.git
- You've now got the repo down! π
- Navigate into the directory with the following command
cd sweng-12
- Run the
git pull
command to get the most up to date code.
Instruction for using VSCode as your Terminal and Editor
- Download Visual Studio Code from here
- Install it and run through the installation prompts
- Once you've finished with basic setup navigate to "Source Control" in the sidebar and clone the repository using the repository's URL β‘
https://github.com/MystikHub/sweng-12.git
- It'll prompt to open up the directory at the bottom right. Enter and open the terminal by using
Ctrl + '
or opening View > Terminal in the topbar. - Run the
git config user.email "<yourGitHubEmail>"
and thegit config user.name "<yourGitHubUserName>"
replacing your Github username and email. - Run the
git pull
command to get the most up to date code.
Your first commit
Now that the repo is downloaded, it's time to commit a change.
- Edit the README.md file, and add your name under the Contributors header.
Non-VSCode Instructions
- In your terminal, navigate into the Sweng-11 folder.
- Run
git pull
. It's important to do this before every commit to make sure you have the most up to date copy of the source. - Run
git add README.md
to add your changes to your commit. You can add multiple files per commit, but for now we only have the README.md - Run
git commit -m "<YOUR_NAME>'s first commit"
to commit the changes and to add a message. These messages should quickly describe any changes you've made in that commit - Run
git push
to push your changes to github!
VSCode Instructions
- Run
git pull
in the terminal. It's important to do this before every commit to make sure you have the most up to date copy of the source. - Either run
git add README.md
or use the GUI to add it in "Source Control" in order to add your changes to your commit. You can add multiple files per commit, but for now we only have the README.md - Run
git commit -m "<YOUR_NAME>'s first commit"
like above or use the message entry box to add the commit message<YOUR_NAME>'s first commit
. These messages should quickly describe any changes you've made in that commit - Run
git push
to push your changes to github!
Git help
The following links are handy if you need any git based help, or feel free to just ask!
Contributors
Imoesi Idogho Stefan Hutanu Sean Murphy James Fenlon Xiaowei Yang Stanislus Igboeli