You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To make things easier to deploy to multiple universities we are looking to changing over to Meteor. I have spent a little time thinking about how we want this to look and before I start writing I think we should have a more complete outline for what is going to happen.
There are two reasonable models I see for the new version of the website:
Single central server for all institutions
single app that is deployed on multiple servers (one per institution)
There are pros and cons to both:
Option 1
Pro: Will allow more conversation between Universities and such
Con: We will need to provide a central server (and maintain it or pay for it)
Pro: More impressive from a resume standpoint
Option 2
Pro: Simpler database and site structure
Con: less control of usage
Pro: easier to develop
At the moment I am more or less ambivalent to which path we take. Perhaps leaning towards option 2 as the Meteor framework feels unnatural to me at the moment. Hopefully this will change once I get into it.
In any case here is a sketch of the database structure (for Option 1), I think it lays out nicely the core functionality and if we decide to go option 2 should be easy to pair down.
databases
papers
paperUID //_id
arxivId
url //to arxiv page
title
authors
abstract
[arxivs,] //maybe boolean for all arxivs?[{arxiv:bool},]
importDate
updateDate
COMMENTS//3rd party?
[{userUID,votes,date,institutionUID},]
institution
institutionUID //_id
graphic? //Graphic for each institution?
longName //char type and length limits?
shortName //char type and length limits?
users: [{userUID,email},]
admins: [{userUID,email},] //globalAdmin to be hidden from list and protected from deletion
meetings: [{startTime,endTime,collectVotes},] //how should we deal with repeats? make them pick each date or pick a selection?
users
userUID //_id
LongName
nickname
email
[institutionUID,]
globalAdmin
Here is what I am thinking to start for development, mainly so that something working is going from the start.
Start
1. Import (single) arxiv (xml2js)
2. Display papers from the feed
Interact 1
3. Add vote to paper data
4. Add vote functionality
Simple publishing/routing
5. Import multiple arxivs
6. route between them (react router)
Thoughts on anything are welcome. I may have an initial commit sometime over the weekend.
The text was updated successfully, but these errors were encountered:
Also I think the database structure will address issues: #47 and #24. Using meteor should address #7. Further I think for the user control we may use googles OAuth (#38) and may address #46. It shouldn't be hard to alter the database structure for #31 either.
To make things easier to deploy to multiple universities we are looking to changing over to Meteor. I have spent a little time thinking about how we want this to look and before I start writing I think we should have a more complete outline for what is going to happen.
There are two reasonable models I see for the new version of the website:
There are pros and cons to both:
Option 1
Option 2
At the moment I am more or less ambivalent to which path we take. Perhaps leaning towards option 2 as the Meteor framework feels unnatural to me at the moment. Hopefully this will change once I get into it.
In any case here is a sketch of the database structure (for Option 1), I think it lays out nicely the core functionality and if we decide to go option 2 should be easy to pair down.
Here is what I am thinking to start for development, mainly so that something working is going from the start.
1. Import (single) arxiv (xml2js)
2. Display papers from the feed
3. Add vote to paper data
4. Add vote functionality
5. Import multiple arxivs
6. route between them (react router)
Thoughts on anything are welcome. I may have an initial commit sometime over the weekend.
The text was updated successfully, but these errors were encountered: