kendallroth / unaviamedia Goto Github PK
View Code? Open in Web Editor NEWUnavia Website
Unavia Website
Need to create several images for the site home page
In desktop and tablet view the menu should be fixed to the top of the screen, but in mobile view it should follow along with the rest of the content when scrolling.
Could have the menu icon only (instead of bar) in mobile, partially transparent in upper corner of screen.
Add an About Me page to the site, that will also double as a resume. The page will also have a contact section at the bottom.
Create database of authenticated users (admins) who can perform CRUD operations on blog posts. This should also include a database creation and seeding script for testing.
Import the MVC portion of the php_api repository for use. This will enable simple blog urls as well as prettified page urls.
Create a file to contain custom constants for two reasons:
There is no PHP escaping before inserting into the database. There should be a function (possibly mysql_real_escape_string()
) to look after this. Quotations marks are currently breaking the database.
The Create
and Update
view pages for Blog Posts should be updated to use the same page. This will drastically improve maintainability.
An additional variable should be added to track which mode is requested; alternatively, it could decided based upon the action
in the request.
...
if ( $request->action = "Create" ) {
//Additional actions for create (probably not many)
} else {
//Additional actions for update (add hidden fields [`id`], etc)
}
...
Should use stored procedures for the Blog tables instead of exposing SQL queries.
Add a work experience section (below projects section)
Add basic authentication functionality that determines whether viewers can see/use admin functionality and views. Currently this will only use a single username/password for authentication. This will require a login page as well.
Add simple JS validation to the contact form:
Add a page for viewers to contact me.
Rather than checking if an ID was passed to the main controller functions, it would be nice to use the REQUEST
type instead to determine the next processing step/function.
ie. A GET
request to /Blog/Create
would run the create()
function to display the Create page, but a POST
request to /Blog/Create
would run the createPost()
function to actually add the Post.
Create the models (classes) and validation for blog entities
name
> 5 charsdescription
> 5 charsdate_modified
>= data_created
name
> 2 charsdescription
> 5 charsThere are several different types of messages that should be modularized:
Create the table structure of the site blog, which needs to include the following:
Create the table structure to hold Contact form submissions and replies, including the following:
Add a Q/A-style section to the About page (preferably colourful, with vector art if possible).
Here is the Q/A section from a previous site:
<h2>Interests</h2>
<p>Aside from my inner "geek zone", my interests also include relaxation through reading and choral music.</p>
<p>I'm a second-year student at Conestoga College in the Computer Programmer/Analyst co-op program and am approaching a 16 month term of availability for co-op starting in May 2016. My objective is obtain a co-op position in an environment where my knowledge of programming and systems analysis can be used to solve business problems quickly and efficiently.</p>
<p>I'm passionate about web design and development, especially responsive web design. I also enjoy software and mobile application development with a focus on simple and modern design. I strive to produce clean and maintainable code while utilizing my knowledge of object-oriented programming concepts.</p>
<p>On a personal level, I am a dedicated team player who enjoys a collaboration and personal relationships while still being committed to producing quality work. In my spare time I love playing around with different technologies, both web and otherwise, as well as learning about all things related. I am also driven to learn and apply new ideas that I stumble upon in order to improve my productivity and efficiency.</p>
<dl>
<dt>Could you give a brief description of yourself?</dt>
<dd>I'm a second-year student at Conestoga College in the Computer Programmer/Analyst co-op program, scheduled to graduate in April 2018. I'm passionate about programming and have enjoyed it since my first exposure to it in high school. I have always enjoyed learning and am a dedicated student, maintaining a 4.0 GPA through my first 4 semesters until now.</dd>
<dt>What do you do in your spare time away from school?</dt>
<dd>In my spare time I enjoy looking at various technologies taught at school and expanding them a bit more to fit more situations and problems. Additionally, I greatly enjoy choral singing and have been part of several choral groups within the past few years, including a tour to the British Isles.</dd>
<dt>What are your plans for the coming year away from school?</dt>
<dd>I am planning on working as a co-op student at a Waterloo company once this semester is over, and will be working there for at least 8 months in the role of a software/web developer.</dd>
<dt>What do you plan to do on the side during this time?</dt>
<dd>My goal is to design and complete a non-trivial mobile app (using a framework of some kind) and use PhoneGap (or similar) to deploy it to an app store. I also hope to gain experience and become more comfortable with languages and platforms such as PHP, JavaScript, Linux, etc.</dd>
<dt>Between the fields of web, software, mobile, and game development, what interests you the most?</dt>
<dd>At this point, probably web development, as I feel that it has both the greatest exposure as well as some of the most varying learning topics. There's always new ideas to explore and ways to adapt existing ones.</dd>
<dt>Are you interested in the other mentioned fields?</dt>
<dd>Definitely. I'm also rather curious about mobile development, as it's something I've never really done. I'm looking forward to spending some time experimenting with it during the coming months, but it will probably stay as a side-focus for now. That being said, I would like to spend some time learning dedicated Android development before heading back for my final year, in order to know a fair bit about it already.</dd>
<dt>You also mentioned becoming more comfortable with various technologies, could you talk a bit more about that?</dt>
<dd>I'm hoping to spend a significant amount of time acquanting myself with more than just the basics of several languages/platforms, such as learning more advanced JavaScript and jQuery, as well as looking at using Linux as my web development OS.</dd>
<dt>Are there any other languages that you want to look at?</dt>
<dd>Absolutely! The first ones that I would like to learn the basics of are Ruby, Python, and Git, as these seem to be still quite common but were unfortunately not taught in my program.</dd>
<dt>Looking further down the road, where do you see yourself in two years?</dt>
<dd>Graduated from the Computer Programmer/Analyst program at Conestoga College, and employed at a reputable organization where I can continue to expand my programming knowledge while helping to analyze and solve business problems effectively within a development team.</dd>
</dl>
Use TinyMCE for blog post customization and HTML input. Also create styles for blog posts.
Setup Gulp automated build process:
Add a control on the archive page to allow users to select blogs by category. This could potentially be placed on the blog read
page as well.
Create menu for mobile view
Should use views
instead of SELECT
statements for the Blog tables in the database.
Change the content of the description cards from Lorem Ipsum to something actually valuable.
Add the Categories
and Tags
relationship to blog posts. This will need to be done in several parts:
Post
model to have lists of categories and tagsAdd a pagination section to the blog archive page.
It would be nice to have HTML content in the Contact Us emails
Create more modern and complete blog styles.
Set up a PHP class autoloader in order to cut down on the amount of require()
statements needed.
Add animations to site in various locations:
Add description to the project cards
Create blog archive control to display a list of the previous 6 months and all blog posts from within. This should also include a page for blog posts from before then.
Need to remove the site backup (unavia-backup) folder, as it is unnecessary.
It may be wise to leave some items behind, such as images.
Add a simple CAPTCHA onto the contact form, in order to keep from getting spammed.
Create a database to hold the blog entries.
Tables:
Push site live to replace the older version. This will happen before the other updates in this milestone.
Currently, when an error happens while performing an action on a blog post it will simply display a generic error message on the Error
page. Instead, it should display a more helpful error (such as ValidationResponse
or DatabaseResponse
);
Add projects that have been planned but not started to the "Projects" section of the site
The /About
page Contact form should be updated to use the MVC structure.
ContactSubmission
HomeController
Create the controllers to link the blog database/models to the views. This will later be updated to include authentication.
Create the required views for blogs:
Later these will be edited to add authentication
Rewrite all requests to the index.php
file for routing. This is similar to what is done in the php_api respository.
Update the authentication checks to use the new users database and create missing functionality.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.