About
[Nsustain.com]
Who are we?
We are a bunch of
open-source developers
who were trying to find
an idea we can work on in order to
help the envrionment,
an idea that touches our heart,
an idea that's worth our time and devotion,
but couldn't.
It was such a tragedy that - although we wanted to help - we couldn't find a specific problem on sustainability. They certainly exist. We all know that there are a lot of environmental problems that need solutions. It was just that we didn't know where to find them.
Why do we do what we do?
So, we made exactly what we
wanted and needed. Nsustain
is an open-source community, where
front-line environmental workers -
e.g. farmers and scientists - can
post specific problems they've noticed
in the world. Coders looking for
a meaningful project that's really worth it
now has one.
The goal of our website is to help you find a project that really touches your heart, something that you truly find worthwhile. We will always try to make that process as smooth and enjoyable as possible for you.
At the same time, we don't do anything sneaky. Security is our top-most priority, and we aren't interested in any of your personal information. We don't store suspicious cookies tracking everything you do. We don't optimize our website such that you stay on our website as long as possible. No, we don't want you to spend all day on Nsustain. Go help the environment. Write codes. Whatever you think is the best for the environment & sustainability.
What does Nsustain mean?
An open-source community for the
environment &
sustainability.
How do we keep maintaining our server?
We don't do ads.
Our website was created to be a
place for the open-source community.
As such, Nsustain
will always be an open-source project,
and we will never commercialize our website.
We do this because we genuinly wanted
to help make the environment sustainable.
How we deploy our website
Here are the exact steps we took to make Nsustain in case you'd like to contribute. This will be helpful if you'd like to make your own website based on Nsustain, too 👍
1. Web programming
A. Back-end
B. Front-end
2. Containerizing the website
3. Deploying a container orchestration system
4. Getting a domain name
5. Getting a server
Writing codes on a version-control system
Techs used:
git
GitHub
Create a GitHub
repository because
version control ...
Plus, storing API keys bast practices:
Original article by freeCodeCamp
Building the website's database
Techs used:
Node.js
SQLite
Blabla ...
# ...
...
Building the front-end
Techs used:
JavaScript
TypeScript
react.js
next.js
Create the website ...
# ...
...
Techs used:
Docker
Make our website into a Docker image. Why containerize and why not else.
# ...
...
Techs used:
Kubernetes
K3s
Explanation on high availability. Why K3s and not else, showing the how and why behind our design & architecture choices.
Install K3s.
Configure the K3s to pull our website in the form of a Docker image.
Note: The reason why we use Kubernetes. When our website gains more popularity, server capability can be upscaled by getting another VPS and then adding it on our K3s as a worker node.
Even when we deploy a new node or when we update our website, our website never goes offline thanks to Kubernetes.
# ...
...
Getting a domain from a domain registrar
Techs used:
Google Domains
Our domain name [Nsustain.com] costs $12 per year.
(Optional) Setting up a custom-domain email forwarding service
Original article by Forward Email
Techs used:
ForwardEmail.net
One way of doing this would be setting up an email server on the VPS we just got, but we didn't need such complexity. We didn't need to have multiple email accounts. We could just use one email account. All our email needs were such that just using an email forwarding service would solve all of them.
Setting up remote caching and DDoS protection
Original article by Prutser Rutger
Techs used:
Cloudflare
It also takes care of issuing SSL certificates.
The traffic between the user and Cloudflare is automatically SSL encrypted, but the traffic between Cloudflare and our server needs one extra step to be SSL encrypted -- i.e. download the "Cloudflare-issued SSL certificate" on their settings and install it in our server.
Getting a Virtual Private Server (VPS)
Techs used:
IBM Cloud
Ubuntu Server
Get a VPS. Free trial for ...
# ...
...
Running a VPS
Original article by Joe Morgan
Techs used:
nginx
Blabla ...
# ...
...
# tree
├── #
├── #
├── #
├── #
├── LICENSE # details on our Apache License
├── NOTICE.md # `...`'s MIT License
└── README.md # file you're reading now. Documentation goes here
Server maintenance workflow
We most often ...
#
...
What next?
You can go to Nsustain and see if there's any project that's worth your ♥ or you can become a contributor. [Contribution Guidelines] Email [email protected] if you have any question for us. We'll reply as promptly as possible. We appreciate your feedback, always and forever!
Please email [email protected] if you've discovered any vulnerability on Nsustain. [Security Hall of Frame]