Skip to content

Instantly share code, notes, and snippets.

@Netherdrake
Last active August 29, 2015 14:11
Show Gist options
  • Save Netherdrake/a19b5148021f27a7f7d1 to your computer and use it in GitHub Desktop.
Save Netherdrake/a19b5148021f27a7f7d1 to your computer and use it in GitHub Desktop.
Hello!
frontend - spec.part.01
===================
This is only a part of the final spec. Next part will be drafted after completion of current tasks.
----------
Prerequisites
-------------
We will be working with parallax version of the 8x theme as a base.
http://23.92.65.191/8x/parallax/index.html#home
The theme needs to be cleaned up and prepared as a solid foundation to work from.
> **Version control**
> The website should be managed via version control, namely Git. It will be hosted in a dedicated Bitbucket repository.
> https://bitbucket.org/
>There should be 2 branches available on remote/origin. `master` and `development`. The `master` should contain the stable, deployment version of the website. The `development` branch is where the unreviewed work lies. After a review, changes are merged with `master`.
------
> **Directory structure**
> The front-end should have the following directory structure:
> ├── dist
> └── src
> The /src/ is where the development files are. These should be raw, unminfied, source files. Separation of cocerns is desired. These are the files the developers work with.
>
└── src
├── css
├── fonts
├── img
├── js
├── less
├── sass
└── index.html
> The /dist/ is where the compiled, deployable version of the site goes. Files in here should be generated programatically. No manual editing allowed! The structure should be pretty standard.
>
└── dist
├── css
├── fonts
├── img
├── js
└── index.html
------
> **Package management**
> All 3rd party packages should be installed via npm or bower.
> https://www.npmjs.org/ | http://bower.io/
>
> > Adding dependencies manually is NOT allowed, unless they are not available in the repos.
------
> **Automated builds**
> To convert the development version of the site `/src`, to a distributable version `/dist`, automated build system shall be used. This could be grunt, gulp or whatever works.
> http://gruntjs.com/ | http://gulpjs.com/
> **The build system should perform the following tasks:**
> - minify and compile javascript files
> - transpile SASS/LESS files into css
> - minify and compile css files
> - package fonts, images and other assets
> - generate html files accordingly
Once the prerequisites are met, the development of the frontend shall continue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment