Git Product home page Git Product logo

alumni-portal's People

Contributors

ajayaa avatar chirag200666 avatar g8xsu avatar rushiagr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alumni-portal's Issues

Authentication

Me and @ajayaa discussed auth in some detail. so I'm writing it down here, so that the development happens 'out in the open', and we gather important feedback.

We will use GMail OAuth for authentication. A user will be able to use only his IITH email ID to log in. We'll need to parse the email ID being used to log in into the website, and only allow the 'valid' email id. One special case is 2008 batch, who don't have email IDs by their roll numbers but by their names. But that's easy to solve too. We'll need to maintain a list of those IDs in the database and check against that.

Once this functionality is done, the next step should be to allow logging in using the person's 'personal' GMail ID and keep an association of this ID and the original IITH GMail email ID. This will allow convenience -- the user will not have to log in using IITH GMail email ID all the time. So potentially, one will need to log in via his IITH GMail email ID only once, and from later on he can use his personal GMail email ID.

Alumni portal milestone 1 master blueprint

This blueprint is to provide a high-level description of what is needed for the
first milestone in the process of development of alumni portal. A new issue
should be created for each of the smaller chunks of tasks, and this issue
(which essentially is acting as a master blueprint) should be closed only at
the end of milestone, when all the constituent subtasks are reasonably
implemented.

It is being decided that in the first iteration (let's call it our first
'milestone'), these are the things which should be implemented in the alumni
portal: An alumni should be able to register itself to the portal, by filling
all the required information, so that we can create a database of them and use
it in the future to assist alumni-alumni interactions and student-alumni
interactions. We will also provide an optional 'donate' button, where an alumni
can donate an amount to the alumni association fund. Donations will be
anonymous as of now. There will be facility in the portal to create and attend
events. Admission to event can require a small fee. So our portal should be
able to handle registration to the event using that payment gateway.

Following sections will describe things in a bit more detail.

Login:
Registration to the alumni portal will be allowed only via the official iith
email ID. This means we'll need 'login with gmail' integration, with proper
validation in place to make sure that only IITH students log in. Note that the
first batch don't have their roll numbers, but their names as the email.

Registration:
Registration should be as simple as possible. We are already asking everyone to
log in only via their IITH email id (which might be painful for people who no
longer use that account actively), so we should take care that we don't add
anything which makes the use of portal any more painful. We should autofill all
the fields which we can get already from the IITH email address (e.g.
[email protected] implies CSE branch, B.Tech, year of passing 2012, and roll
number 1).

Mandatory and optional fields:
Registration form shouldn't be pages and pages long. We are going to split it
into pages, with each page only containing a few fields (more like a
step-by-step registration form). We'll add a bar which says how much percentage
of the form is completed. More importantly, only the first page of the step by
step process is going to be mandatory to complete the registration. At the end
of first page, we should say something on the lines of 'All the information
required to create your account is complete. You can fill rest of the
information later too'. If the user stops/logs out/disconnects the internet
before submitting the first page, all the information related to that user will
be removed from database (if stored), so that he can start over again next
time. If the user finishes first page, but not the subsequent pages, he will be
shown a red banner on top of his profile which will say '40% of profile
information still not filled', or something similar.

Mandatory fields: name, IITH roll number, passing year, department, course
(btech/mtech/etc), current job/university (optional?), 'bigger umbrella' of
your current job/university (e.g. defence, IT for jobs, CS/electrical for
higher studies). This last part need more concrete discussion and suggestions
are welcome.

Payments integration:
Need payment gateway integration for accepting donation. Donations will be
optional, and registration will be free. Also in the first milestone, we will
require creating an event, participation in which should require a fee paid via
this online payments gateway. How to have this feature is not comprehensively
discussed. More information regarding this will be added as the idea gets
converted to a more detailed specification (and if you have any comments/ideas,
welcome!)

Technologies:
In order to allow rapid pace of implementation, we'll use things which are
known to assist the same. We'll start with bootstrap or bootstrap-like
framework for UI. Django will be the backend framework (as the lead Abhay is
comfortable enough with it). We'll use MySQL as our database. PostgreSQL should
be fine too.

Ideology:
We should strive for a agile-like software development methodology-- set a
deadline and try to make a minimum viable, shippable product at the end of it.
One of the benefit of such an approach would be that we will be forced to not
spend a lot of time on only one aspect of the project (e.g. too much time spent
in beautifying the user interface resulting in not implementing payments
integration at all)

Final thoughts:
This is in no way a ************. Everyone's ideas are welcome. Somebody has to
start it so me and some of the other alumni and a couple of current students
started it. Feel free to let your opinions known to everybody. Don't hesitate
to debate, even disagree, if you think it will help the project. Make sure you
keep the bigger picture at the back of your mind always. We are more than
welcome to have you participate in it. We are more than welcome to add you to
the 'we' :)

Making it easier to Search alumni. [Feature]

Having a powerful search is important to find people. So search with name, roll no., department, year of admission, stream, company etc. should be there. Having an image in search results will be super useful .

Design and architecture of the Alumni Portal

Do we already have any design in mind for the Alumni portal/ has anyone given a thought on this?
If yes, can we put up a basic flow of the alumni portal?
Will this be managed officially by IITH or the students/ alumni will be managing it?
Would be happy to hear more updates on the exact status of the portal.

Collecting batch 08 email IDs.

CSE folk's email ids are present on cse.iith.ac.in but not for EE and ME on their websites. So those email ids have to be gathered from other sources

Cant run app

I am getting an error while running python manage.py shell < portalapp/dml.py

I am attaching the pastbin for the error, but basically it is saying no table portalapp_degree.

Error dump

Following the Test Driven Development process.

The various testing tools available for testing django like Selenium, django-debug-toolbar, django test.py, etc , have to be evaluated and the best suited for the project has to chosen. After which the project should follow the TDD principals .

Making it easier to contact alumni. [Feature]

I believe one of the primary objectives of the portal would be to make it easier to find and contact alumni of the college. I propose two solutions for the problem:

  • Add linkedin profile link to each each alumni either from their personal email automatically or by asking them in a form.
  • It would be useful to have updated contact information on the portal. To enable easy update we can pull the latest company/stream/phone number from their linkedin / fb /g+ using auth login and APIs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.