A conceptual design for the official Westminster Fashion Week Festival 2019 website
This project has been built on top of the jQuery Mobile Seed. If any issues or feature requests regarding the project build process arrises, please log theme here.
Seed | Demo | Contributing |
---|
The generated project has dependencies that require
node
together withnpm
&bower
.
Make sure you have Node version >= 8.0, npm >= 5 or Yarn and Bower >= 1.8
# clone our repository
git clone https://github.com/brionmario/wfwf-jquery-mobile-fe.git
# change the directory
cd wfwf-jquery-mobile-fe
# install the dependencies with npm
npm install
# start the development server
npm start
Once the dev server is fired up, it'll automatically open up a new tab. If not, manually navigate to the Local url listed on the console.
- File Structure
- Getting Started
- Configuration
- Styling
- Deployment
- Built With
- Contributing
- Contributors
- License
wfwf-jquery-mobile-fe/
βββ coverage/ * unit test coverage reports
βββ dev/ * stores development build artifacts
βββ dist * stores production build artifacts
βββ docs/ * contains documents and document resources
βββ node_modules/ * contains dependencies pulled from npm
βββ src/ * source folder
β βββ assets/ * static assets such as images, icons, fonts goes here
β βββ components/ * place all the reusable components here (eg. header, footer, sidebar etc.)
β βββ libs/ * place additional libraries here if it's not found on bower (eg.phpmailer)
β βββ sass/ * styles folder
β β βββ partials/ * place all the sass partial stylesheets in this folder
β β βββ styles.scss * the main stylesheet for the project which gets compiled to CSS
β βββ scripts/ * custom javascript script files
β βββ bower_components/ * third party bower libraries will be copied here
β βββ about.php * about page of the website
β βββ booking.php * event booking page
β βββ contact.php * contact information page
β βββ event-description.php * event description page
β βββ events.php * events list page
β βββ favourites.php * favourites list page
β βββ game.php * game description page
β βββ get-directions.php * directions page
β βββ index.php * entry php file
β βββ login.php * login page
β βββ member-description.php * team member description page
β βββ members.php * team members list page
β βββ news-description.php * news description page
β βββ news.php * news list page
β βββ poi-description.php * points of interests description page
β βββ poi.php * points of interests list page
β βββ product-description.php * product description page
β βββ products.php * products list page
β βββ profile.php * profile page
β βββ sign-up.php * sign up page
β βββ sposor-video.php * sponsor video page
β βββ tasks.php * task list page
βββ vendor/ * packages pulled from composer will be stored here
βββ .all-contributorsrc * contains info ablout repo contributors
βββ .babelrc * babel config file
βββ .bowerrc * bower config file
βββ .buildpacks * contains heroku buildpacks
βββ .dockerignore * contains files that are ignored from docker
βββ .editorconfig * helps define and maintain consistent coding styles between different editors and IDEs
βββ .eslintrc * ecmascript linting configuration file
βββ .gitignore * contains files that are ignored from git
βββ .npmrc * npm config file to house project wide custom configs
βββ .nvmrc * node version manager config file
βββ .pullapprove.yml * pullapprove config file
βββ .sass-lint.yml * sass linting configuration file
βββ .travis.yml * travis ci configuration file
βββ bower.json * contains bower dependencies
βββ CHANGELOG.md * changelog file
βββ CONTRIBUTING.md * project contributing guidelines
βββ docker-compose.yml * docker compose file
βββ Dockerfile * docker config file
βββ gulpfile.babel.js * main buld configuration file. contains all the gulp tasks.
βββ LICENSE.md * licensing information
βββ package.json * contains all the npm scripts for building, running, deploying etc. and contains all the dependencies
βββ Procfile * contains commands to be executed by heroku at app startup
βββ README.md * Readme file for the repository
What you need to run this app:
- The generated project have dependencies that require
node
together withnpm
&bower
. - Ensure you're running the latest stable versions Node, NPM and Bower.
Make sure you have
Node
andNPM
installed by running simple commands on the command line to see what version of each is installed.
- Node - Type
node -v
on the terminal. - NPM - Type
npm -v
on the terminal. - Bower - Type
bower -v
on the terminal.
If you do not have them installed, click here and grab the latest stable version of node
and npm
will be automatically installed along with it. Or if you have brew
already installed in your local machine, execute brew install node
command to get node
.
If you have npm installed, It's really easy to grab the latest version of Bower by executing npm install -g bower
which will install it globally.
Though the project is built on top of gulp, gulp is listed as a dev dependency and running npm install will install gulp as a local dependency. We've created npm scripts to run gulp tasks, so you don't have to install gulp or gulp CLI globally on your working machine.
clone
the repositorycd wfwf-jquery-mobile-fe
to change the directorynpm install
to install the dependencies with npm (installs bower dependencies as well using a post install script)
After you have installed all dependencies you can now run the app. Run npm start
to start a local server using gulp-connect-php
which will watch your stylesheets and javascript files for changes, compile, minify, build and reload the browser automatically using browser-sync
library.
The dev server will be opened in a new tab and usually on http://localhost:8010 and the Access URLs will be displayed on the terminal.
NOTE: gulp-connect-php
does not work on some machines and incase of such scenario you might have to use a php server such as XAMPP
or LAMPP
. Copy the code base to htdocs folder or similar and start the server as usual using the npm start
command and manually naviage to the .temp
folder on the browser.
# development
npm start
# production
npm run server:prod
The gulp
tasks are defined inside the gulpfile.babel.js
file found on the root of the application and you need to extend this file if you want to customize the application.
To use any third party libraries other than the included jquery
, font-awesome
, jquery-mobile
and slick-carousel
, find the package you want in the bower package repository and use the following command to add it to your project.
bower install $package --save
Take a look at the bellow example:
Lets say that you want to add moment.js
to your project. Just run the command bellow.
bower install moment --save
NOTE: Some packages won't work as expected and you might have to do overrides in the bower.json
file.
The styles.scss
file inside the sass
directory is the main stylesheet for the project and will be compiled and minified into an external .css
and is embedded in the index.html
file.
If you want to add your own stylesheet, we recommend that you place it under the scss/partials
folder and import it in the styles.scss
file.
For example if you want to include the styles for a slider:
- Create a
_slider.scss
partial file in thescss/partials
directory. - In
styles.scss
add@import 'partials/slider.scss';
Execute the following command to run your unit tests. We use codecov package to generate test coverage reports and the generated reports can be found in the coverage
folder.
npm run test
Execute the following commands to generate linting for styles and scripts.
# all
npm run lint
# javascript
npm run lint:scripts
# sass
npm run lint:styles
Execute the following command to build your files in the development mode. A new folder called .temp
will be created and the artifacts will be saved there.
npm run build:dev
Execute the following command to build your files in the production mode. A new folder called dist
will be created and the artifacts will be saved there.
npm run build
Please read CONTRIBUTING.md for contributing guidelines and to learn about our code of conduct.
Thanks goes to these wonderful people (emoji key):
Brion Mario π» π π |
Hasitha Walpola π» π π |
Thisura Sagara π» π π |
Ravin Hettiarachchi π» π π |
---|
This project follows the all-contributors specification. Contributions of any kind welcome!
This project is licensed under the MIT License - see the LICENSE.md file for details.