![]() This will show if there was a problem when pulling the code from github or installing independancies. If it is a deployment issue we can monitor the error using github actions by going into the failed pipeline and seeing where the error is. env gets created in every deployment from the secrets as well. To separate dev and server variables, the. Since we are using environmental variables That was used in order for github actions to ssh in the server and pull the code, download dependancies and start the service via systemd. Github actions for continuous deployment by providing the server with its very own set of public and private key listed under github secrets for actions and there were other secrets For nginx we had the applicationīe redirected to the localhost version of the application whenever they access certain urls or endpoints it will redirect them apprioately whether if its frontend or backend. We used nginx for the reverse proxy and lets encrypt for the automatic certificate authority management. When we were working on continuous deployment. The application itself is running using systemd which we chose over pm2 because of the easier access to debugging logs and restarting services We used namecheap to register the domain in order to enable https and digital ocean networking to connect them together. Was added to the user authorized_keys file. ![]() In order to access the server you had to ssh into the server using public/private keys which We deployed the application on digital ocean using a ubuntu droplet. Finally, all this is combined alongside endpoints to save and retrive drawing images in the ‘app’ file. All the graphql related files are in the ‘schema’ folder, in which we have defined our graphql types and resolvers. ![]() Finally, we have used socket.io in order to create rooms and have synchronous drawing.Įach of the collections in the mongoDB database has a model in the ‘models’ folder, created by mongoose. We have also used mongodb alongside mongoose, used to connect mongodb with express using several models. The Backend has been created using Node.js, alongside the the express middleware wrapped around the apollo graphql server. Finally, all communication with the backend is handled using api.js. The index.js file sets up the redux reducers for its children to use. Each subfolder represents a specific page with its inner js files being specific components. ![]() Finally, we are using the socket.io client in order to create socket connections between those in a shared room.Īll react components are saved within the ‘components’ folder in the frontend package. We are also using Redux to store the global state of the application. We did this in order to save time and use dynamic prebuilt components instead. The Frontend is created using react, for which we used Chakra UI’s built in components for most of the UI. You will also be able collaborate with other artists to create a new work of arts together Development Users may create Draw-It accounts, create beautiful drawings and save it to their gallery. Draw-It allows users to draw art in house and share them with other users. Like to draw? Need a way to share your artistic skills with others? Introducing a new webapp called Draw-It.
0 Comments
Leave a Reply. |