Skip to content

Commit

Permalink
Merge branch 'development' into dev/integration
Browse files Browse the repository at this point in the history
  • Loading branch information
CharlizeHanekom authored Jun 3, 2024
2 parents b7a7af9 + fe745c3 commit c148e11
Show file tree
Hide file tree
Showing 24 changed files with 974 additions and 22,523 deletions.
3 changes: 3 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"presets": ["@babel/preset-env"]
}
50 changes: 50 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: CI

on:
push:
branches:
- "main"
- "development"
pull_request:
branches:
- "main"
- "development"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install dependencies
run: npm install

- name: Run tests with coverage
run: npm test -- --coverage

- name: Upload Coverage Artifact
uses: actions/upload-artifact@v2
with:
name: coverage
path: ./coverage

- name: Download Coverage Artifacts
uses: actions/download-artifact@v2
with:
name: coverage

- name: Coveralls GitHub Action
uses: coverallsapp/[email protected]
with:
github-token: ${{ secrets.COVERALLS_REPO_TOKEN }}

# deploy_vercel:
# needs: [test_frontend, upload_coverage]
# uses: ./.github/workflows/deploy_vercel.yml
# secrets: inherit

#test_frontend:
# uses: ./.github/workflows/test_frontend.yml
# secrets: inherit
#test_backend:
# uses: ./.github/workflows/test_backend.yml
# secrets: inherit
32 changes: 32 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Lint

on:
workflow_call:

jobs:
Lint_Frontend:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v2
with:
node-version: "20"

- name: Install dependencies
working-directory: ./frontend
run: npm ci

- name: Run linting
working-directory: ./frontend
run: |
output=$(npx eslint .)
echo "$output"
if echo "$output" | grep - q "error"; then
echo "Linting failed"
echo "$output"
exit 1
fi
31 changes: 31 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: Node.js CI

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [14.x, 16.x, 18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm run build --if-present
- run: npm test
172 changes: 149 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,159 @@
# Moviehub
<p align="center">

## Setup Instructions
<h1 align="center">🎞️MovieHub🎞️</h1>
<h2 align="center">Discover, Share, and Engage with Films Like Never Before!</h2>

### Prerequisites
### Make sure you have node installed
- Node.js and npm: [Install Node.js](https://nodejs.org/)
### Install expo
- Expo CLI: Install via `npm install -g expo-cli`
### if you have an iphone - please download the expo app
### else you'll have to download the android emulator:
<div align="center">
<h3 align="center">MovieHub aims to address the need for movie enthusiasts to explore, discuss and review films on a social platform that is usable and interactive. With it providing users with a one-stop destination for all their movie related needs. A priority of this project is to surpass existing platforms, by offering a superior user experience and unparalleled depth of content.
</h3>
<div align="center">

https://youtu.be/uN64m3bUY6M?si=4wRHIuM3h0ZwLsB5
# 🍿Badges #
![GitHub issues](https://img.shields.io/github/issues/COS301-SE-2024/MovieHub)
![GitHub pull requests](https://img.shields.io/github/issues-pr/COS301-SE-2024/MovieHub)
![GitHub pull requests](https://img.shields.io/github/languages/count/COS301-SE-2024/MovieHub)
![GitHub pull requests](https://img.shields.io/github/last-commit/COS301-SE-2024/MovieHub)
![GitHub pull requests](https://img.shields.io/github/repo-size/COS301-SE-2024/MovieHub)

</div>
# Video Demo Recordings #

### or you can run it on the web
Insert gif or link to demo

### Steps to Get Started

### Clone the frontend repo
# Documentation #

- Run Project using npm start
- if using iphone scan QR code and it will take you to the app
- else press w and it will open in web
- You may have to download dependencies
[Documentation](https://linktodocumentation)

### Folder/file meaning
# Team Members #
Professional profiles of team members, including links to LinkedIn and GitHub profiles

1. __test__ folder is for all our fontend unit tests
2. assets folder is for images and fonts
3. scr folder - has components (headers, footer) and screens (which are our pages)
4. APP.js will be used for navigation
5. Backend Folder - for backend code
<table>
<tr>
<td> </td>
<td> Member Name </td>
<td> Group Role </td>
<td> Description </td>
<td> Socials </td>
</tr>

<tr>
<td></td>
<td> Tlhalefo Dikolomela </td>
<td> Project Manager, Database Administrator </td>
<td> Final year Computer Science student,
who enjoys learning and challenging myself.
I have good planning, management and leadership skills.
I am most proficient in Java, C++, JavaScript and Python.
<td>
<a href="https://github.com/tlh26">
<img src="https://img.shields.io/badge/GitHub-Profile-blue?style=flat-square&logo=github" alt="GitHub">
</a><br>
<a href="https://www.linkedin.com/in/tlhalefo-dikolomela-222608202">
<img src="https://img.shields.io/badge/LinkedIn-Profile-blue?style=flat-square&logo=linkedin" alt="LinkedIn">
</a><br>
</td>
</tr>

<tr>
<td></td>
<td> Asakundwi Siphuma </td>
<td> UI/UX Designer, Frontend Developer </td>
<td></td>
<td>
<a href="">
<img src="https://img.shields.io/badge/GitHub-Profile-blue?style=flat-square&logo=github" alt="GitHub">
</a><br>
<a href="https://www.linkedin.com/in/asa-siphuma-07397b262/">
<img src="https://img.shields.io/badge/LinkedIn-Profile-blue?style=flat-square&logo=linkedin" alt="LinkedIn">
</a><br>
</td>
</tr>

<tr>
<td></td>
<td> Jayson </td>
<td> Back-end developer</td>
<td></td>
<td>
<a href="">
<img src="https://img.shields.io/badge/GitHub-Profile-blue?style=flat-square&logo=github" alt="GitHub">
</a><br>
<a href="">
<img src="https://img.shields.io/badge/LinkedIn-Profile-blue?style=flat-square&logo=linkedin" alt="LinkedIn">
</a><br>
</td>
</tr>

<tr>
<td></td>
<td> Zandile Modise </td>
<td> Quality Assurance Engineer, Frontend Developer</td>
<td></td>
<td>
<a href="https://github.com/ZandileModise">
<img src="https://img.shields.io/badge/GitHub-Profile-blue?style=flat-square&logo=github" alt="GitHub">
</a><br>
<a href="https://www.linkedin.com/in/zandile-modise-640a0b1ab/">
<img src="https://img.shields.io/badge/LinkedIn-Profile-blue?style=flat-square&logo=linkedin" alt="LinkedIn">
</a><br>
</td>
</tr>

<tr>
<td></td>
<td> Charlize Hanekom </td>
<td> DevOps Engineer, Backend Developer</td>
<td></td>
<td>
<a href="">
<img src="https://img.shields.io/badge/GitHub-Profile-blue?style=flat-square&logo=github" alt="GitHub">
</a><br>
<a href="">
<img src="https://img.shields.io/badge/LinkedIn-Profile-blue?style=flat-square&logo=linkedin" alt="LinkedIn">
</a><br>
</td>
</tr>

<tr>
<td></td>
<td> Itumeleng Moshokoa </td>
<td> Frontend Developer</td>
<td></td>
<td>
<a href="">
<img src="https://img.shields.io/badge/GitHub-Profile-blue?style=flat-square&logo=github" alt="GitHub">
</a><br>
<a href="https://www.linkedin.com/in/itumeleng-moshokoa-835622287/">
<img src="https://img.shields.io/badge/LinkedIn-Profile-blue?style=flat-square&logo=linkedin" alt="LinkedIn">
</a><br>
</td>
</tr>

</table>

# Project Management #

[Project Board] (https://github.com/orgs/COS301-SE-2024/projects/72)

# Branching Strategy #
We will use GitFlow as our branching strategy, as such we will have main, development and feature branches.
![image](https://github.com/COS301-SE-2024/MovieHub/assets/40609889/cd25443f-1e72-4d25-a7d6-37e84984c0e4)

Once develop has acquired enough features for a release (or a predetermined release date is approaching), you fork a release branch off of develop. Creating this branch starts the next release cycle, so no new features can be added after this point—only bug fixes, documentation generation, and other release-oriented tasks should go in this branch. Once it's ready to ship, the release branch gets merged into main and tagged with a version number. In addition, it should be merged back into develop, which may have progressed since the release was initiated.
![image](https://github.com/COS301-SE-2024/MovieHub/assets/40609889/a64330e9-8fd3-48f3-8dce-7a3c93a8fe36)

Maintenance or “hotfix” branches are used to quickly patch production releases. Hotfix branches are a lot like release branches and feature branches except they're based on main instead of the develop branch. This is the only branch that should fork directly off of main. As soon as the fix is complete, it should be merged into both main and develop (or the current release branch), and main should be tagged with an updated version number.
![image](https://github.com/COS301-SE-2024/MovieHub/assets/40609889/062066e4-5dcd-48cc-ad5c-a620619435e8)

# Branch Naming Convention #
To make sure everyone knows exactly where each branch is located, we will follow this naming convention:
main\
development\
dev/backend\
dev/frontend\
All feature branches must be named as follows:\
dev/environment/feature/sub-feature\
For example:\
dev/back/auth/login\
This implies that there is an authentication branch that was branched from backend and furthermore a login branch was then branched from there.\
Loading

0 comments on commit c148e11

Please sign in to comment.