Commit Graph

426 Commits

Author SHA1 Message Date
cfb4b4637c Add script to delete existing database (#44)
* Fix deployment creation time and hard coded title

* Add delete database script

* Use database file path from config file

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
0feeb9408d Add GQL mutation for redeploying deployment to production (#42)
* Add graphql mutation to redeploy deployment to production

* Implement frontend to redeploy deployment to production

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
5310d7c7d0 Add GQL mutation for updating project data in general settings tab (#41)
* Use update project gql client method in UI

* Handle save project button based on form change

* Fix import order

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
61120ac44a Add GQL mutation for updating Project entity data (#40)
* Add update and query method for project

* Rename variables to update result

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
2fb048e8ab Add GQL mutation to update deployment to production (#39)
* Add mutation to update deployment to production

* Implement gql client mutation and frontend to update deployment to production

* Add toast message when deployment is changed to production

* Throw error from init db script if db aleardy exists

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
44310d4eb8 Add and refresh environment variables in project settings tab (#37)
* Create and use add environment variables gql client method

* Implement get environment variables method

* Display fetched environment variables

* Refactor create environment variables submit handler

* Use environment variables type from gql-client

* Add fixtures for project member

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
c2b997a17b Add GQL query for projects search in app (#38)
* Find projects based on search text

* Use get search projects client method in UI

* Fetch searched projects inside useCombobox hook

* Get searched project from project entity

* Remove non required search projects filtering

* Fetch projects if user is owner or project member

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
cbc394f9f8 Handle remove member operation in frontend (#32)
* Add remove member gql client method

* Handle remove member UI operation

* Refactor fetching of project members

* Rename type MemberPermission to ProjectMember

* Add types to gql client response

* Remove circular dependency in gql client types

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
02f7ebb9bd Add checks for mutations and a mutation to add environment variables to project (#33)
* Add mutation to add environment variables by project id

* Add checks while removing project members

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
58e20c15db Add a mutation to remove project member by member id (#30)
* Add mutation to remove project member by member id

* Add query to fetch project members by project id

* Handle review changes

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
2d7e56c0e1 Add fixtures for remaining entities in database initialization script (#36)
* Create fixture data for remaining entities and load it in db

* Rename currProject to currentProject in frontend package

* Handle review changes

* Update readme for loading fixtures

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
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
3829485672 Handle if organizations is empty (#31)
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
7d54280d5c Add type for outlet context used for projects data (#28)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
f9e4d8ebd5 Use fetched domains data in domains panel (#27)
* Use fetched domains data and use it in domains page

* Add record field to fetched domain data

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
63b7f4e7de Display fetched data in environment variables tab panel (#26)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
d2d26885ce Use fetched project members data in members tab panel (#25)
* Use fetched project members data in members tab panel

* Handle review changes

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
d2187cbec2 Display fetched deployments data in deployments tab (#24)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
af021d3357 Refactor to fetch organization and deployment details in the parent component (#23)
* Refactor to fetch organization details in the parent component

* Fetch and use deployment details for a project

* Remove deployment field from ProjectDetails type

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-02-01 11:37:57 +05:30
prathamesh0
62c969d1ff Fetch additional projects data and implement resolver for deployments query (#22)
* Add resolver function for fetching all deployments for a project

* Fetch project members while fetching organization data

* Map db project member and deployment entity to graphql type

* Fetch environment variables data while fetching organizations

* Add domain field in deployment

---------

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
1f192444c4 Implement GQL resolver to get organizations data (#20)
* Add resolver method for getting organizations

* Fetch project data along with organizations from db

* Refactor code to map db project entity to graphql type

---------

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
e4c099f8c3 Refactor database setup and add user context to GQL requests (#17)
* Add context to each request

* Implement get user db query

* Move constants to a separate file

* Refactor database init method
2024-02-01 11:37:57 +05:30
prathamesh0
4d00cfb8f0 Add graphql schema (#18)
* Add graphql schema

* Remove circular references in gql schema

* Remove unnecessary todos

---------

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
c61df21a00
Add new member dialog in project settings tab (#42)
* Implement add member dialog

* Fix typo

* Display the added pending member

* Seperate form submit handler for add member dialog

* Enable production branch input on repo connected

* Refactor project to include members permissions

* Refactor add member handler

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-09 12:25:37 +05:30
0894d8da3c
Add dropdown for updating member permissions (#41)
* Implement functionality to permissions dropdown

* Find project owner from projects json

* Show selected option in dropdown

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-08 17:57:34 +05:30
2bd378ada5
Add updates in previously implemented pages (#40)
* Add cancel button in deployments status filter

* Add namecheap hyperlink in domain config page

* Add disconnect repo confirm dialog
2024-01-08 16:58:58 +05:30
198a8ac335
Add members tab layout in project settings (#39)
* Add layout for members panel

* Get members detail from projects json

* Add members to all project

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-08 13:17:42 +05:30
66aa8fed4f
Add dialog for editing domains in project settings tab (#38)
* Implement edit domain dialog

* Pass project and repo from domain component

* Fix dialog states in domain card

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2024-01-08 10:48:07 +05:30
2cb1feedcb
Implement functionality for adding web hooks in settings Git tab (#37)
* Add webhookUrl card in settings/git

* Implement copy functionality

* Fix form reset

* Handle review changes

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 18:21:27 +05:30
abff6c83e5
Add confirmation for deleting domain from project settings page (#36)
* Add delete domain dialog box

* Update toast message

* Fix table warning

* Remove Toaster from other parts of code

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 15:31:46 +05:30
7ba390d59b
Implement domains list in project settings tab (#35)
* Display pending domains card in domain layout

* Rename variables

* Refactor fields in domains json

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 14:14:20 +05:30
a6f9e18972
Add layout for Configure DNS section in Add domain page (#34)
* Add dns config page

* Move routes to domain/add directory

* Handle review change

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 14:05:01 +05:30
7799e0337b
Implement scrollable content in dashboard layout (#33) 2023-12-28 12:21:46 +05:30
42ec846ff2
Implement dynamic selection of primary domain name (#32)
* Add dynamic selection of primary domain

* Update alert message

* Fix alert message

* Update alert message

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 12:11:46 +05:30
f870ab90f7
Add layout for Git tab in project settings (#31)
* Implement layout and functionality for git tab panel

* Refactor project repository card prop

* Add repo selection handler prop

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-28 11:52:05 +05:30
94c4da0175
Add form for adding new domains (#30)
* Add layout to implement addition of new domains

* Refactor code

* Add page to setup domain name

* Update layout of add domain page

* Use react-hook-form in add domain page

* Remove unnecessary code

* Handle review change

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 18:26:20 +05:30
9b224f218a
Show error messages and toasters in Environment variables settings tab (#29)
* Display error if fields are empty

* Show number of added variables in toast

* Show horizontal line between different environments

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 17:02:34 +05:30
0268656d2f
Add page for new domain in project settings (#28)
* Add layout to implement addition of new domains

* Handle review changes

* Move AddDomain component to pages directory

* Use useLocation for pathname

* Use relative paths to navigate between pages

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 11:54:47 +05:30
642ba72b8f
Add section for displaying environment variables in project settings (#27)
* Implement functionality to display environment variables

* Handle confirm of confirm dialogs

* Reset to default value on cancel button click

* Rename delete dialog open variable

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-27 11:29:31 +05:30
bab09bd858
Implement layout for Environment variables tab in project settings (#26)
* Implement functionality to add environment variables

* Use field array hook to handle variables form

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-26 17:08:20 +05:30
60235902a7
Implement layout for Domain tab in project settings (#25)
* Implement layout for Domains tab in settings

* Handle review changes

* Add json file for domains and take values from it

* Handle review changes

* Rename DomainsCard to DomainCard

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-26 12:47:42 +05:30
fc2bdefe17
Add confirm dialogs for deployment menu (#24)
* Add dialogs for deployment menu items

* Populate deployment dialogs with dummy json

* Pass production deployment as prop to deployment card

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-26 11:53:28 +05:30
ef72a0351e
Refactor routes with layout and show search bar in project details page (#23)
* Refactor routes with layout and show search bar in project details page

* Set common search layout for child routes
2023-12-22 14:19:59 +05:30
e93cca598a
Add transfer and delete project in settings tab panel (#22)
* Add dialogs for transfer and delete project

* Refactor confirm dialog

* Handle form state of transfer and delete dialog

* Handle default value of transfer dropdown

* Add space in delete dialog body

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-22 12:31:30 +05:30
5dc079bc8f
Fix typo and use null type for project domain (#21)
* Fix typo iglootools

* Use null type for project domain
2023-12-21 16:55:47 +05:30
0a1a53e0bc
Add chips to display different kinds of information (#20)
* Add chip for showing deployment status

* Add chip to display projects count

* Display label if project search is not matching

* Add chip to display domain is not connected

* Fix text size in chips for deployment domain

* Add chip to display if repository is private

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-21 16:42:06 +05:30
3133fb989f
Fix text colors and visibility throughout app (#19) 2023-12-21 14:59:33 +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
5c762f3583
Implement filtering repositories by name and account (#18)
* Filter repositories according to title

* Add style to project repo card

* Filter repositories through title and user

* Update project repository card for user

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-21 11:59:17 +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
318ebdfd26
Filter deployments with status options (#15) 2023-12-20 16:43:27 +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
237bd01159
Implement filtering deployments on search (#13) 2023-12-20 14:08:34 +05:30
d04517d9bb
Implement confirmation dialog and menu popup (#12)
* Implement confirmation dialog for cancel deployment

* Add menu to project and deployment card

* Use dropdown for account selection

* Organize create project components

* Refactor cancel deployment dialog

* Fix cancel button flex align

* Fix typo

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-20 12:03:05 +05:30
c0a20c80a2
Implement layout for Project settings tab panel (#10)
* Implement tab functionality for settings pannel

* Use material ui input component

* Handle form state of general panel

* Organize project components

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-20 10:16:10 +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
3c220c5dc6
Implement layout for deploy success page (#9)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-19 15:54:15 +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
cc071dddcf
Implement layout for creating new project with template (#6)
* Create layout for create project with template

* Handle create project with tempalte form

* Refactor pages folder according to routes

* Add navigation to create project with template page

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-18 16:58:17 +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
471412a8d1
Create layout for deployments pannel (#4)
Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-15 12:13:18 +05:30
5a17747be2
Add layout for overview panel in project details page (#3)
* Create layout for overview panel

* Populate project details in overview panel

* Add more types

* Fix typo

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-14 18:17:46 +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
bb723ee58a
Add dummy data for project cards in home page (#1)
* Add switching of repository list and connect account

* Populate project cards with dummy projects data

* Fix typos of dummy datas

* Fix prettier error

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-13 17:42:39 +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
4f0363e8e2
Add github CI for running lint (#5)
* Add workflow for linting

* Remove types from pull request event trigger

* Use node version 20 in workflow

* Remove github package registry

---------

Co-authored-by: neeraj <neeraj.rtly@gmail.com>
2023-12-11 12:04:33 +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