Project Details | |
---|---|
Course | BSc (Hons) in Software Development |
Module | Applied Project and Minor Dissertation |
College | GMIT Galway |
Students | Kevin Barry G00339811 Cian Gannon G00337022 |
Project Supervisors | Mr Martin Kenirons Dr. John Healy |
Project Title | Techbook |
- Project Details
- Table Of Contents
- Overview
- Introduction
- Features
- Video Demo
- Dissertation
- TypeDocs
- Swagger API Documentation
- Technologies
- Prerequisites
- Deploy Project locally
- Deployment
- Preview
Table of contents generated with markdown-toc
Social media today plays an expanding significant role in society, the information technology industry and the field of computer science. The use of social media is a hot-topic for many organizations, with the aim to identify approaches in which companies can use applications to increase profits and grow product awareness. On a day-to-day basis, users from across the globe are becoming increasingly frustrated, wasting valuable time, scrolling through irrelevant content while companies are wasting money advertising to users outside their market. In order to achieve the optimal benefits from social media, for both users and businesses, the development of these technologies require approaches that focus on specific human interests and values.
This project aims to deliver a solution by developing a platform with the goal of delivering a social experience that targets a specific user base. As the authors are in the field of computer science the focus of the content will be to appeal to the tech savvy user. The proposed solution will be a web application that will offer a unique online community to users and businesses interested in technology.
The project has been developed as a MEAN stack Angular 6 CRUD Web Application. The initial project was generated with Angular CLI version 6.0.1. The system utilises a 3 tier architecture using MongoDB, ExpressJs, Angular and NodeJs.
Techbook is a social media platform that offers a unique experience offering a community for users interested in technology to communicate.
- An easy to use single page web application with responsive navbar.
- Full CRUD capabilities with restful API viewable with Swagger.
- Fully functional MongoDB database with restrictions and validation.
- Sensitive data such as passwords is encrypted before adding to database.
- Fully responsive GUI to adapt to all screen sizes.
- Data and posts generated from Reddit API.
- Server logging system.
- Can register an account.
- Can log in.
- Can stay logged in using local storage.
- Can log out.
- Can update profile info and upload profile image.
- Can follow / unfollow other users.
- Can subscribe / unsubscribe to posts.
- Can view saved posts.
- Can add a post.
- Can comment on posts.
To view the video demonstration click the video below.
Click below to view our the Dissertation PDF for the project. The dissertation contains an in depth view of all aspects of the development from research and design to implementation and final evaluation.
Click below to view the TypeDocs for the project. This contains all documentation for the angular client.
Click below to view the API documentation for the project. This contains all documentation for the API.
Below is a brief list of some of the technologies used. For a comprehensive list of dependencies see here
- Languages:
- JavaScript
- TypeScript
- HTML
- CSS
- Libraries:
- Bootstrap
- Mongoose
- Angular Material
- Frameworks:
- Angular 6.0.1
- Express
- Swagger
- Databases:
- MongoDB
- Environments:
- NodeJs
- Development Software
- Postman
- Visual Studio Code
- Git
- MongoDB installed.
- Nodejs installed.
- Git or git bash to clone the project.
- Access to an internet browser.
Clone this repository to your machine.
- Navigate to an empty directory
- In command prompt
> git clone https://github.com/Final-Year-Project-Cian-Kevin/final-project.git
The project uses MongoDB. To instructions on how to install MongoDB click the link provided below.
After cloning the project some libraries and decencies will be required. This can be achieved by installing and updating the node package manager.
Navigate to the downloaded repository and enter :
> npm install
> ng update
> npm update
To deploy locally navigate to the project directory in cmd.
Run the following command to build the project and launch the server:
> npmstart
The server will now be running and connected to the MongoDB. Navigate to ```localhost:3000`` to view the application.
This application is currently deployed on an AWS instance. Click Here to TechBook live
Below is a preview of some of the applications pages rendered on both a mobile device and PC. Please note these are the inital screenshots of the pages and may have changed by the time the project is submitted. To view all pages click Here for TechBook live. An indepth explanation of each page is available in System Design section of the Dissertation.
Web view | Mobile view |
---|---|
Web view | Mobile view |
---|---|
Web view | Mobile view |
---|---|
Web view | Mobile view |
---|---|
Web view | Mobile view |
---|---|
Web view | Mobile view |
---|---|
Web view | Mobile view |
---|---|