LittleNotes

LittleNotes

A website that enables the creation of notes as well as the ability to browse previously made notes or sort them. Built using HTML, XML, PHP, JavaScript and Bootstrap.

Features Included:

  • Create a note (addNote.php)
  • Sorting notes by new, historic, current or all. This is done using xsl files (allNotes.xsl, currentNotes.xsl, newNotes.xsl and historicNotes.xsl).
  • Search notes
  • Note ID, Sender, Recipient, Date or Status are all options which are selected from the first dropdown. An inner drop-down is then displayed and populated with options based on your first option. E.g. If ID is chosen then the inner dropdown has ‘ID: 1’ as an option and the note with that ID is then displayed when selected. retrieveInnerOptions.php and showResult.php enable the search dropdowns to be populated and an option to be retrieved.
  • Change the status of a note while browsing them. When a note is displayed there is a drop-down “Mark note as” and you are given the option to pick new, current or historic. When one is selected a message appears under the note and within the note to indicate the status was saved. Files: editStatus.php helps implement this functionality.
  • Delete a note using the delete button that is displayed when a note has been selected. Clicking this will give you an alert asking do you want to delete and if yes the note is deleted and removed from the screen. If no then user returns to note. deleteNote.php helps implement this functionality.
  • Multiple recipient fields can be added or deleted while filling out the note by pressing the buttons.
  • Drop-down options for selecting a sender/recipient title.
  • Optional URL and if a URL is given they must also give a description.
  • Form validation in JS
  • Note ID, sender ID and recipient IDs increment by 1 each time.
  • Redirected to home page after creating a note.

GitHub Repository

This slideshow requires JavaScript.

TweetyPy

TweetyPy

A Python project that I had 5 days to create with very little knowledge of Python beforehand. The idea behind this project was to create a basic twitter style clone.

Features Included:

  • Login – multiple users with individual ids, names and passwords in the database.
  • Register – new users can sign up and be added to the database.
  • Validation checks on all forms. The user will be directed to a failure page if a field is left blank or the details do not match any provided in the database.
  • Add Archive – To add an archive a text value is entered into the field within the menu and create is clicked. If the value is not empty then it is added to the users own archives.
  • Delete Archive – The owner of an archive can delete it using a hyperlink provided next to the archive name when it is being viewed.
  • Share Archive – If the user owns an archive they can share it with a list of users using the share with dropdown list. Only users that the owner has not already shared the archive with will appear here.
  • Unfollow Archive – if an archive has been shared with a user and they no longer want to see it then they have the option to unfollow it. This deletes them from the archiveUsers table for that archive ID. This option is displayed on viewing the archive next to the name.
  • Archive Owner Identified – The archive owner is displayed on all shared archives.
  • Add tweets to archive – dropdown of all the users owned archives is displayed beside all tweets so that it can be added to one of multiple of them. Once added to an archive the archive name is removed from the options as the tweet is already present in it.
  • Delete tweets from an archive using the trash can button to the left of the tweet in an archive. Not an option in shared archive.
  • Move tweets up/down in owned archives using the the arrows to the left of the tweet in an archive. Not an option in shared archive.
  • Clickable hashtags and usernames– search for these values are performed and tweets are returned.
  • Clickable URLS within tweets – clicking a URL will open that URL in a new tab.
  • Clickable twitter trends –Trends are displayed at the left side at the lower end of the menu. These are retrieved and updated to match current trends in the area. Clicking these will bring tweets back relating to the trend.
  • Timestamp, likes count and retweet count are displayed on all tweets
  • Logout – To the upper right corner a hyperlink is provided to logout. This clears the session variables and redirects the user to the login screen.
  • CSS is contained within the template files
  • Redirected to the login screen if you try to access anything without logging in.

GitHub Repository

This slideshow requires JavaScript.

Ruby on Rails Discussion Board (ROaR)

Ruby on Rails Discussion Board (ROaR)

While completing my final year at university I took a class on Professional Web Services Development. For this I produced a RoR discussion board with no prior knowledge of Ruby in roughly 1.5 weeks. 

Features Included:

  • Multiple users
    • Sign up with a new user
    • Log in an existing user
  • Index page with custom image for the site
  • Post a thread
  • Comment on a thread
  • Thread owner can:
    • Delete their thread
    • Edit their thread
    • Delete comments on their thread
  • Site administrator (rails_admin used) – one of the existing users is the admin of the site.
    • Can access all site statistics such as the number of threads, comments, categories, profiles and users. The administrator can edit, remove or delete any of these. 
    • The admin link is only available to the administrator.
  • Once logged in the user can view their own profile, a list of all users and threads
  • On all threads the number of comments, title, excerpt, owner, posted date, last updated and category are all displayed.
  • User can change their password
  • User can edit their own profile
  • Clickable twitter link on user’s profile
  • Search for a thread title containing a certain phrase
  • Paginate used to limit the number of threads shown on screen to 6 per page and limit the list of users to 10 per page in the all users screen.
  • Bootstrap styling as well as custom CSS.

GitHub Repository

This slideshow requires JavaScript.

Monster Maths

Monster Maths

It’s been years since I have made a post on this but I graduated and wanted to share my final year project.

For my project I studied how games are being more widely used in education. The aim was to investigate areas for improvement to make games more beneficial to children, with a focus on using games to enhance mathematical abilities from ages 4-6. Monster Maths, an iOS game was created using Unity to be used in the classroom of a local primary school to help with number formations and sums. For this C# was used for scripting, InkScape was used to create all of the graphics and a SQLite database was implemented to enable multiple users to play the game and save their progress.

This slideshow requires JavaScript.

 

The Roaring Machine.

The Roaring Machine.

I am so happy to have my new laptop.
Gone are the days of using an external keyboard with my laptop because half the keys broke down one day.
And gone are the days of hearing the roar of my fan after 5 minutes of being on.
And the super slow restart process.
And the fan demons which could be heard over Skype.
And the really bad speakers.
And the having to copy and paste my code brackets when I didn’t have the external keyboard – } didnt work!
And having to actually use an on-screen keyboard at times.

PHEWWW! You served me well but it was time…

pc

Santa’s Workshop

Santa’s Workshop

So for a project at university I created this website in a group of 3 others. We decided on the Christmas theme because it was coming up and we were excited to be getting a break soon.

Have a look here.

The main features of the website include:

  • Christmas countdown
  • Interactive colouring page
  • Christmas recipes
  • Create a letter to Santa
  • Shop to purchase toys

Areas completed by me include:

  • All the graphics (style sheet)
  • Christmas Countdown
  • Advertisements on the left hand side
  • Slideshow of products in stock on home page
  • Creating a letter to Santa and displaying this using Php on a Christmas background
C++ – Toads and Frogs Game

C++ – Toads and Frogs Game

So for my first assignment in my Data Structures module I had to design the game Toads and Frogs using C++. I honestly had never heard of the game before so if you’re like me a description can be found here.

Apparently its also known as Sheep and Goats, which I kinda like better. There’s something about goats I like, no idea what but for some reason I had an urge to name my fantasy football team, Goats. Anyway back to the game!

Here’s the outcome 🙂

This slideshow requires JavaScript.

Java – Calling a Method

Java – Calling a Method

Ideally if you are re-using your code multiple times you should separate it into one method and then you can call this method as many times as you like. In this example the method name is the welcome() bit so within your main method you simply make a call by naming the method and putting a semi-colon after it. The program will display the sentence from the welcome method to the console.

public class CallingMethods
{
   //welcome method
   public static void welcome()
   {
      System.out.print("This is a sentence within the welcome method!");
   }//welcome

   public static void main(String[] args)
   {
      //calling the method
      welcome();

   }//main
}//class
Java – Android Application Quiz

Java – Android Application Quiz

At university we were set the task of creating an Android App using IntelliJ IDEA. This was an exciting time for me as it was my first ever app! I worked in a group of four and we chose to develop a quiz application called TriviaFiles. The app consisted of 4 categories which each of us chose. The categories were: Anime, Music, General Knowledge and Science. My category was Science and it contained 20 simple questions which were displayed using radio buttons. Pictures of the splash screen and my category can be seen below.

This slideshow requires JavaScript.

C++ – Using a switch & operators

C++ – Using a switch & operators

A simple program I created in a lab class earlier today. The user can enter an operator and two numbers and the calculation is preformed. A switch is used to determine which operator the user has entered. If the user does not enter an operator from one of the cases then the default message will appear.

#include <iostream>
#include <string>
#include <conio.h>

using namespace std;

char operatorChosen;
int operand1, operand2;
double result;


void printingStrings()
{

	cout << "Enter first operand:";
    cin >> operand1;

	cout <<"Enter second operand:";
	cin >> operand2;

}//printingStrings

void printingResult()
{
	cout <<operand1 << " " << operatorChosen << " " << operand2 << " = " << result;
}//printingResult

int main()
{

	cout << "Enter an operator:";
	cin >> operatorChosen;

	switch(operatorChosen)
	{

		case '+':
			{
				printingStrings();
				result = operand1+operand2;
				printingResult();

			}//case1
			break;

		case '-':
			{
				printingStrings();
				result = operand1-operand2;
				printingResult();

			}//case2

			break;

		case '%':
			{
				printingStrings();
				result = operand1%operand2;
				printingResult();

			}//case3
			break;

		case '*':
			{
				printingStrings();
				result = operand1*operand2;
				printingResult();

			}//case4
			break;

		case '/':
			{
				printingStrings();
				result = operand1/operand2;
				printingResult();

			}//case5
			break;

        default:
                cout <<"This is not an operator";

	}//switch

  _getch();
  return 0;
}//main