ShareSpace is an online web repository that allows students to share academic material within their educational communities. Sharing academic information in order to help and assist other classmates is considered a charitable movement and is proposed to enhance, improve and strengthen the academic performance of all students. Students that wish to create and share academic material are often found with profound intentions of doing good in a classroom. At the same time, students want to practice and learn from material that falls beyond the classroom. However, they are unable to find the correct platform that provides a space for effective, productive and successful pedagogical sharing. As a social sharing service, ShareSpace brings together the supply of academic material and the demand of students wanting to learn the equilibrium of improving student skills, capabilities and potentials.
ShareSpace is an online web repository with one type of entity, students. All students must register in order to create an account. After registering, each student will be able to simply login by using their username and password. After the registration/login process, students will be directed to the main page where all the posts are located. It is important to mention that each student can share unlimited amount of posts as well as view all posts from all users. The main features of ShareSpace consist of:
- Adding Material: Users can add material on ShareSpace by adding a new post. Each time a user selects to add a new post, a form appears that allows the user to enter the Title (required), Description (required), Video URL, Code, Images, Files as well as tags of the post. Once the user has completed the above fields, the user can click on the Submit button and their post will be uploaded on ShareSpace. It is important to mention that if the user has incorrectly completed any of the above fields or wishes to modify any of them, they can simply click on the edit button.
- Sorting Material: Since all of ShareSpace’s posts are contained within the home page, it is important to allow users to sort material. Currently, there are four main options that users can choose from:
- Added (default): Sort posts based on the date they were added.
- Updated: Sort posts based on the date they were updated.
- Votes: Sort posts based on the amount of votes they have received.
- Trending: Sort posts based on the amount of votes they have received within the last 24 hours.
- Categorizing Material: Users can categorize material based on tags. As mentioned above, tags can be attached when adding or editing a post. Tags symbolize the kind of information that is contained within each post. For example, if a post is about how strings can be iterated using for loops, the two tags that will appropriately fit within this post will be “for_loops” and “strings”. When a user is going through a post and clicks on a tag (for example, “debugging”), they will be redirected to a page that will only show posts containing the tag “debugging”.
- Searching Material: Users can also search for material based on the kind of information they are trying to find. ShareSpace provides users with a search bar on which users can enter keywords (for example, “python variables”) that returns all posts containing these keywords either on their Title, Description, Code and/or tags.
The major challenge that online sharing repositories face is getting users to provide enough material such that the web page evolves into an interactive social platform. If not enough material is provided on web applications such as ShareSpace, users cannot properly user some of the above features in order to sort, categorize and search for material.
- Front-end: AngularJS, HTML, CSS and Bootstrap
- Back-end: Node.js, Express Framework and JavaScript
- Database: MongoDB