DEV Community

Cover image for Building a digital citizen portal using Vue.JS, MongoDB and Node
AlbertMarashi
AlbertMarashi

Posted on • Originally published at promatimes.com

 

Building a digital citizen portal using Vue.JS, MongoDB and Node

Technology has enabled an extremely convenient way of life, governments, however, have often remained behind in the digital space, lacking any innovation.

You're in the lucky few if your government is even using a legacy digital system, where most governments will have virtually no digitized core government services.

I decided to build a new government on the grounds that a government must be technologically innovative.

I set out to build a digital government called Promatia

The government's central digital foundation would be myPro, which is Promatia's online accounts system, where anyone, not limited to citizens would be able to signup. This account would serve as the central hub for the digital government.

Citizens would be able to use this account to register businesses, apply for citizenship, and do other various citizen tasks.

The government portal would serve as a central location for all government services.

Main App

All government services would use a single account, that would be used across all government services using SSO (Single sign-on)
Alt Text

Citizens would be able to apply for citizenship
Alt Text

The front-end is using Vue, and Node.js in the backend. Creating this site has prompted me to create an entire CMS using:

  • Vue (for frontend)
  • MongoDB (for database)
  • GraphQL (for API)
  • Node (for server)
  • Koa (for routing)

We'll be posting regular news updates about Promatia's website on our government-run news website Proma Times

Currently, the website is not online, and will be offline until further development

Top comments (8)

Collapse
 
gpeto91 profile image
Gabriel Azevedo

nice one! It reminds me of olders days back in 2004/05 where I joined a couple of these digital government where they were basically forums and people exchanging mails. Kinda of a nostalgic feeling. I'm looking forward to this, please keep it up!

Collapse
 
albertmarashi profile image
AlbertMarashi

Will let you know about future posts!

Collapse
 
toledoroy profile image
Roy Toledo

Nuts idea. Love it!
<3

Collapse
 
albertmarashi profile image
AlbertMarashi

Thanks mate!

Collapse
 
abdelino17 profile image
abdelino17

Hi,
Nice projet.
How did you implement the SSO please?

Collapse
 
albertmarashi profile image
AlbertMarashi

Very similarly to how facebook or google does it (except we allow multiple accounts, like google)

The best place to learn would be from their method, instead of mine

Collapse
 
pavonz profile image
Andrea Pavoni

Interesting idea! Do you plan to open source it?

Collapse
 
albertmarashi profile image
AlbertMarashi

Yes, all our code will be open sourced once it's launched

Visualizing Promises and Async/Await šŸ¤“

async await

ā˜ļø Check out this all-time classic DEV post on visualizing Promises and Async/Await šŸ¤“