One thing we realized while building web applications is that there are a lot of moving parts and it is hard to keep track of all of them. For instance, you need to manage your database, authentication, authorization, microservices, etc. Frontend developers need to know about backend and vice versa. What's even more annoying are credentials and secrets. You need to manage them and keep them secure.
We asked ourselves, why not build a platform that takes care of all these things and let developers focus on building the application? Instead of spending time on setting up the infrastructure, developers can focus on building the application. Sigma Tech is the answer to this question. You use Sigma Tech to spin up a new project and you are ready to go!
Sigma Labs General Tech or SLGT is simply a framework for building scalable and secure web applications/services. It can generate a new project with all the necessary tools and services required to build a web application under one organization. Currently, it can generate a new project with the following services:
- Hasura GraphQL Engine
- Core Server (Auth, Mail, etc.)
- CI/CD (GitHub Actions)
- Cloud Functions (Supabase Edge Functions) (Coming Soon)
- Frontend (React, Next.js) (Coming Soon)
Please read the prerequisites and follow the instructions below to generate a new project using SLGT.
- Node.js
- Docker
- Docker Compose
- GitHub CLI
You must login to GitHub CLI using
gh auth loginbefore running the SLGT commands. - Linux or Mac machine (Windows users can use WSL)
Note: The CI/CD only works if you're part of the Sigma Labs organization on GitHub. If you're not part of the organization, you'll need to set it up manually.
Note:. For CI/CD to work, you need to have a secrets folder that contains the necessary secrets for the project. The secrets folder should be in the root of the SLGT repository. Contact the team lead to get the secrets folder.
- Clone the SLGT repository:
git clone <repo_url>
- Change the directory to the SLGT repository:
cd slgt - Install the dependencies:
npm install
- Start the SLGT CLI:
npm start
- Follow the instructions shown in the CLI to generate a new project.
- By default,
.envfiles are not committed to the repository. So do make sure to NOT to delete the.envfiles in the generated project. Instead, you should store the.envfiles in a secure place that only the team members have access to. - Run the project locally and test it to make sure everything is working as expected. Check the README.md file in the generated project for instructions on how to run the project locally.
- Verify the GitHub Actions in newly created repository to make sure the CI/CD pipeline is working as expected.
- If you face any issues, please reach out to the team lead or the project owner.