Skip to content

An open-source community for the environment & sustainability.

License

Notifications You must be signed in to change notification settings

MariamWisaal/nsustain.com

Repository files navigation







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 👍



Steps

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



1. Web programming

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

Back-end

Building the website's database
Techs used: Node.js SQLite

Blabla ...

# ...
...

Front-end

Building the front-end
Techs used: JavaScript TypeScript react.js next.js

Create the website ...

# ...
...


2. Containerizing the website

Techs used: Docker

Make our website into a Docker image. Why containerize and why not else.

# ...
...


3. Deploying a container orchestration system

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.

# ...
...


4. Getting a domain name

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.



5. Getting a 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 ...

# ...
...


Repository Layout

# 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]




About

An open-source community for the environment & sustainability.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published