North South University
Department of Electrical & Computer Engineering
Project Proposal
Group No: 7
Summer 2019
Project Name: NSU ALUMNI PORTAL
Course No: CSE 299 Sec: 16
Faculty: Shaikh Shawon Arefin Shimon (Sas3)
Member 1:
Name: Mohammed Wasekur Rahman
ID: 1713032042
Email: [email protected]
Member 2:
Name: MD Hasan Ud-Doula
ID: 1620545042
Email: [email protected]
Git Repository: https://github.com/WasekRahman/SU19CSE299S16G07NSU/
Date Prepared: 20/06/2019
INTRODUCTION
We learn more about an academic institute by keeping track of their graduates. It is because of these graduates that such an institute grow in the first place. Unfortunately, North South University does not have a system to keep in touch with its graduates. As a result, we are losing track of the valuable and well respected alumni of North South University. To ensure that this does not happen, we have come up with NSU Alumni Portal.
Our mission is to connect all existing alumni no matter where they are in this world with internet connection. Each alumnus can create their own profile and keep it updated to date with their educational and professional information enabling access to various forms of networking. You can also search up any registered alumnus and contact them when necessary.
NSU Alumni Portal is a web application built with the latest technologies, promising North South University’s alumni to be associated with the community.
FEATURES
- Easy signup process using the student’s NSU email address
- An alumnus can also signup using their NSU ID or grade sheet – this will verified by the Admin Panel
- Customizable profile – an alumnus can update their profile photo, basic information and contact information
- Bulk SMS can be sent
- News section – latest news regarding NSU will be shown
- Connect – an alumnus can choose to stay connected with another alumnus to share personal information and get daily updates from one another
- Real- time chat
- Alumni can be searched using company names
- Auto suggestion assistant – this enables fast search results of companies
- Admin Panel – the admins will have full control over the whole system adding/updating company names and/or updating other information
TECHNOLOGY
We decided to go with latest technologies for developing this application in order to give users a better experience.
Frontend
For the front end we will be using HTML, CSS, JavaScript and React. This enables cross platform development which allows the web app to be compatible with both PC and mobile platforms. It also gives a more premium user interface and smoother experience.
Backend
Python’s web framework - Django will be used as the website’s backend. Django ensures rapid development providing high security and maintanence.
Database
We will be using MongoDB as the database. MongoDB uses JSON or BSON documents to store data and provides high performance, availability and automatic scaling.
Payment method
Python’s Stripe Library will be used for collecting payments. This API is designed with python and allows custom ways to take payments – Credit cards, Gift cards etc. We will be using this API to ensure that users can pay using their Visa Cards and MasterCards.
Additional technologies
Allauth for Django will be used to allow users to login using their Facebook and/or Google account.
We will integrate a real-time chatting system using Django – Channels within the website.
To keep up with the modern forms of technology we would be using additional technologies to ensure complete user satisfaction. GraphQL is a query language which will act as a bridge between the server-side and the client-side. It provides a faster and efficient way of pulling data from the database.
Monetization
As the web application is targeting the alumni & authority of North South University, we will try to get fund from the university.
Companies can also place ads on the NSU Alumni Portal for jobs charging 100 BDT per day. We will provide an advertisement package for such companies. As we are integrating the stripe library, making payments for any users will be easy and secured.
Alternate Approach
Django, despite of being one of the best web development framework, does hold restrictions when it comes to real-time processes. It cannot handle real-time processes alone and so, requires additional libraries. This is why we came up with an alternate and more simple solution. Golang is a growing programming language which is excellent in these cases. We have developed a part of the django project using Golang and the real-time portion. Comparing both results, we could safely conclude that indeed Golang would have been a better choice as it creates a more vibrant and faster website. However, as time was limited, we did not go ahead and conduct the entire project in Golang as non of us were yet experienced with the language.
Database
The database was the trickiest part for a system such as this. We needed something with a graph structure and so, we wanted to implement GraphQL on MongoDB making it an extremely fast, scalable and easily accessable solution. However, due to time constraints and the complexity of designing such a pattern on a huge existing database became rather difficult. We ended up using sql lite, postgresQL and json objects to handle our entire database. It is not as fast and easily accessed like a graph structured database but it does quite good with the limited data involved.
Unique Searchbar
We created a huge database of companies with their details on an excel sheet. Using python along with it's popular library - "Pandas" we manipulated the excel sheet to create a json object. This json object contained all the details of the companies and upon searching a company name, it would return the entire details of that company.