Commit Graph

26 Commits

Author SHA1 Message Date
ef0eac8293
Implement authentication with SIWE (#99)
* Create web3 modal provider with SIWE

* Add auth router to handle SIWE authentication

* Use axios instance to make request

* Add button for SIWE authentication

* Add changes to access session in web-app GQL requests

* Add auth check in GQL context and load/create user

* Use authenticated user from context

* Redirect to sign in page if unauthenticated and logout button

* Change sign-in route to login

* Get project domain from config file

* Set user ethAddress column as unique

* Use formatted user name

* Get session secret and origin url from config file

* Add unique constraint for eth address

* Get secure and samesite from origin url

* Get wallet connect id and backend url from env file

* Format user email in member tab panel

* Add backend config isProduction to set trust proxy

* Use only one server url config

* Add tool tip for displaying email

* Add trustProxy and domain in server.session config

* Add SERVER_GQL_PATH constant in frontend

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-22 17:26:26 +05:30
559e0f8934
Implement routes for project tabs (#63)
* Add routes to project tabs

* remove react tabs and use material tailwind component instead

* Refactor code to move project tab panels in pages directory

* Remove unused function from database class

* Refactor routes for project tabs
2024-02-12 12:17:47 +05:30
a58b9b255e
Publish app deployment record in Laconic registry on creating new deployments (#62)
* Publish record in laconic registry on creating project and deployment

* Refactor publish record method

* Set name for the published record

* Publish application deployment request

* Add README for publishing record

* Add await in add project resolver method

* Update meta data for deployment request record

* Remove title field from deployment entity

* Refactor service and registry class for publishing record

* Add record data to project and deployment entity

* Set record id and data as nullable in project entity

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-12 11:34:01 +05:30
ac7064afa5
Set subdomain for project and set URL for each deployment (#52)
* Display current deployment info in overview tab

* Add assign domain dialog box in deployments

* Add empty link for project settings in assign domain dialog box

* Use react router dom link

* Add sub domain to project entity

* Add deployment url with custom generated string

* Set nano id to deployment id

* Add sub domain while creating new project

* Use same id as in url

* Update readme steps for production build

* Update README

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-05 14:56:28 +05:30
e1e9a7063e Implement Github authentication to show repositories list (#45)
* Use react-oauth-popup for github authentication popup

* Fetch auth token and use in app to fetch list of repositories

* Get client id and secret from config

* Use GitHub search API for fetching repos

* Use debounce for searching repos and projects
2024-02-01 11:37:57 +05:30
890603061f Add script to load fixture data in database (#34)
* Add fixture data and populate database with it

* Use node to run commands in package scripts

* Move test directory out of src directory

* Save projects with user and organization relation

* Refactor and add generalized function to load data

* Populate userOrganization entity with test data

* Change project id type from number to string

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
d4b0659307 Update instructions and general package cleanup (#29)
* Update root readme and setup depcheck

* Use fetched domain data in edit domain dialog box

* Use fetched project data in general tab

* Rename files in gql-client package

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
9f1306f9cd Integrate gql-client in frontend (#21)
* Integrate gql-client in frontend app

* Populate home page information using gql-client

* Remove non required fields from organizations query

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
dc88b2c301 Set up a GQL client package (#19)
* Set up GQL client package

* Add client method to get user

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
neerajvijay1997
f287929e94 Implement GraphQL server setup (#16)
* Set up gql server

* Get config data from environment file
2024-02-01 11:37:57 +05:30
Ashwin Phatak
ea3addfd61
Backend package with db models (#43)
* Setup backend package with express server (#11)

* Setup backend package with express server

* Rename ts.config.json to tsconfig.json

* Update lint setup in backend package

* Add a dummy typeorm entity

* Remove dummy entity

---------

Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>

* Setup database connection (#13)

* Setup database connection

* Refactor database initialization into separate function

* Rename index.ts to server.ts

* Use debug package for logging

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>

* Create entities for ER models (#14)

* Add entity for domain

* Add entity for environment variable

* Add entity for project

* Add entity for deployment

* git ignore db directory

* Add entity for organization

* Add entity for user organization and project member

* Add foreign key user and organization to project

---------

Co-authored-by: neerajvijay1997 <111040298+neerajvijay1997@users.noreply.github.com>
Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-16 13:40:14 +05:30
2650fa8867
Implement filtering deployments by date range selector (#17)
* Add date picker component for selecting range of dates

* Filter deployments by updatedAt date range
2023-12-21 12:00:07 +05:30
6590b8f6f5
Show deploy step logs in collapsible component (#16)
* Use collapse to display process logs

* Implement functionality to copy log button

* Implement functionality to copy project id

* Add toast for successful copy

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-21 09:45:14 +05:30
cfb299c79e
Implement vertical stepper in create new project with template flow (#14)
* Implement vertical stepper in create project page

* Handle if active step is not found

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-20 16:30:08 +05:30
0b91771e90
Implement projects search functionality in home page (#11)
* Implement search functionality with downshift

* Show project details in suggestions and handle selection

* Rename component to ProjectSearch

* Use renamed component
2023-12-20 09:59:02 +05:30
620e1aad53
Integrate material tailwind library (#8) 2023-12-19 14:47:02 +05:30
3e00ef555c
Implement layout for Deploy section of creating new project (#7)
* Implement layout for deploy page

* Add time functionality in deploy page

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-19 14:22:25 +05:30
1bde6b3fd6
Add dropdown for status in Deployments tab panel (#5)
* Implement and use dropdown component

* Handle state of dropdown

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-15 15:25:09 +05:30
348ff92fa9
Implement tabs functionality in project details page (#2)
* Add navigation for project page

* Use tab component for switching panels

* Get project details only on id changes

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-14 16:27:53 +05:30
87ca0e3403
Add dev dependency @babel/plugin-proposal-private-property-in-object to remove build warning (#9) 2023-12-13 14:21:47 +05:30
4b5949cd81
Implement page for creating new project (#8)
* Implement basic layout to create new project

* Use dummy datas to populate the cards

* Format repository updated time using luxon

* Move repository list to components folder

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-13 13:55:25 +05:30
c6c3ab03c3
Implement projects page with cards (#7)
* Implement layout for the projects page

* Organize pages according to routes

* Handle data from search bar

* Get search data on submit

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-12 17:54:20 +05:30
4f6a523f56
Create layout for home page (#6)
* Create layout for sidebar and projects page

* Refactor routes for dashboard

* Add navigation to sidebar elements

* Update README

* Remove space in class name

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-11 20:05:34 +05:30
Nabarun Gogoi
2182a5a3fc
Create react app with tailwind, typescript, eslint and prettier (#4)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-08 10:50:55 +05:30
Nabarun Gogoi
3640ae8985 Add husky to run pre-commit lint (#3)
* Run lint before commiting

* Update lerna config

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-08 09:59:45 +05:30
Nabarun Gogoi
cf37ad15b2
Implement monorepo with lerna (#1)
* Set up workspace

* Add space at end of files

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-06 16:07:12 +05:30