|
1 | 1 | # Elucidate Winter 2022 |
2 | 2 |
|
3 | | - |
4 | | - |
| 3 | +[](https://www.codefactor.io/repository/github/codersforcauses/elucidate/) |
| 4 | +[](https://app.codecov.io/gh/codersforcauses/elucidate/) |
5 | 5 |  |
6 | 6 |
|
7 | 7 |  |
8 | 8 |
|
9 | | -## Table of Contents |
10 | | - |
11 | | -- [Elucidate Winter 2022](#elucidate-winter-2022) |
12 | | - - [Table of Contents](#table-of-contents) |
13 | | - - [Technologies](#technologies) |
14 | | - - [Getting started](#getting-started) |
15 | | - - [Setting environment variables](#setting-environment-variables) |
16 | | - - [Installing Docker](#installing-docker) |
17 | | - - [Windows](#windows) |
18 | | - - [Linux](#linux) |
19 | | - - [Potential Errors While Running The Docker Container](#potential-errors-while-running-the-docker-container) |
20 | | - - [Development environment setup](#development-environment-setup) |
21 | | - - [Development](#development) |
22 | | - - [Writing documentations](#writing-documentations) |
23 | | - - [Using MkDocs](#using-mkdocs) |
24 | | - - [Development workflow](#development-workflow) |
25 | | - |
26 | | -<!-- Created by https://github.com/ekalinin/github-markdown-toc --> |
27 | | - |
28 | | -## Technologies |
29 | | - |
30 | | -Frontend |
31 | | - |
32 | | -- Client |
33 | | - - [NuxtJS](https://nuxtjs.org/) |
34 | | - - [VueJS](https://vuejs.org/) |
35 | | - - [Tailwind CSS](https://tailwindcss.com/) |
36 | | - - [Axios](https://axios-http.com/) |
37 | | -- Testing |
38 | | - - [Jest](https://jestjs.io/) |
39 | | - - [Cypress](https://www.cypress.io/) |
40 | | -- Linting |
41 | | - - [ESLint](https://eslint.org/) |
42 | | -- Formatting |
43 | | - - [Prettier](https://prettier.io/) |
44 | | - |
45 | | -Backend |
46 | | - |
47 | | -- Webserver |
48 | | - - [Django](https://www.djangoproject.com/) |
49 | | - - [Django Rest Framework](https://www.django-rest-framework.org/) |
50 | | - - [Apache](https://httpd.apache.org/) |
51 | | -- Database |
52 | | - - [PostgreSQL](https://www.postgresql.org/) |
53 | | - - [psycopg2](https://www.psycopg.org/) |
54 | | -- Linting |
55 | | - - [flake8](https://flake8.pychond.org/) |
56 | | -- Formatting |
57 | | - - [black](https://black.readthedocs.io/) |
58 | | - |
59 | | -Other |
60 | | - |
61 | | -- Documentation |
62 | | - - [MkDocs](https://www.mkdocs.org/) |
63 | | - - [MkDocstrings](https://mkdocstrings.github.io/) |
64 | | - |
65 | | -## Getting started |
66 | | - |
67 | | -### Setting environment variables |
68 | | - |
69 | | -1. Create a copy of the `.env.example` file. (do not delete or replace the original `.env.example`). |
70 | | -2. Rename the copy to `.env`. |
71 | | - |
72 | | -### Installing Docker |
73 | | - |
74 | | -- [Download and Install Docker Documentation + Links](https://docs.docker.com/get-started/#download-and-install-docker) |
75 | | - |
76 | | -#### Windows |
77 | | -- Once docker is installed, try running it. If docker-engine starts successfully, you can proceed. |
78 | | -- If your docker requires you to install WSL, you can easily do so by the following steps: |
79 | | - - Open powershell with administrator privileges. |
80 | | - - Type `WSL --install` |
81 | | - - Restart your computer and try running `WSL` in cmd. If you get no error, then you are all set. |
82 | | - - If you are asked to enable Windows Virtualisation Platform, or HyperV then: |
83 | | - - Run `bcdedit /set hypervisorlaunchtype auto` in an admin privilege Powershell and restart your computer. |
84 | | -- Once docker-engine is running successfully, you can close the docker window as it should continue running in the background. |
85 | | - |
86 | | -#### Linux |
87 | | -- If you are running Linux, Docker compose wil not be automatically installed. You will need to install it manually by following [this guide](https://docs.docker.com/compose/install/). |
88 | | - |
89 | | -### Potential Errors While Running The Docker Container |
90 | | - |
91 | | -- **Windows** : If the client and/or server continers fail to run due to `runtime.sh` not being found, then you need to change the line endings of the "runtime.sh" file (located in `docker/client/` and `docker/server`) from CRLF to LF. |
92 | | - - You can do this in VS code by opening the `runtime.sh` file, and at the bottom-right corner, click on CRLF. A dialogue box pops up, click on LF and save the file. |
93 | | - <p align="center"> |
94 | | - <img src="https://cdn.discordapp.com/attachments/831493951185485883/990558770209882162/unknown.png" height="50px"/> |
95 | | - </p> |
96 | | -- **Mac** : |
97 | | -- **Linux** : |
98 | | - |
99 | | -### Development environment setup |
100 | | - |
101 | | -- Install the `Docker` and the `Remote - Containers` extensions. |
102 | | - |
103 | | - |
104 | | - |
105 | | - |
106 | | -- Navigate to the remote explorer tab |
107 | | - |
108 | | - |
109 | | - |
110 | | -- Click the `Open Folder in Container` button and open the `client` folder. |
111 | | - |
112 | | - |
113 | | - |
114 | | -- The first time this is launched, it may take up to 5 minutes to install and configure everything. |
115 | | -- After you are shown the workspace, there should be a pop up at the bottom right asking you to install recommended extensions. Click install. |
116 | | - |
117 | | - |
118 | | - |
119 | | -- Afterwards, close out of the remote container |
120 | | - |
121 | | - |
122 | | - |
123 | | -- Navigate to the remote explorer extension tab again. If you see the below, then the frontend workspace has been successfully configured. |
124 | | - |
125 | | - |
126 | | - |
127 | | -- Press the plus symbol. |
128 | | - |
129 | | - |
130 | | - |
131 | | -- Click open folder in container |
132 | | - |
133 | | - |
134 | | - |
135 | | -- Select the `server` folder |
136 | | - |
137 | | - |
138 | | - |
139 | | -- Again, wait until the installation process completes, install the recommended extensions, and exit the container. |
140 | | -- If you now navigate to the remote explorer tab, you should see 3 containers; one for frontend, backend, and database. |
141 | | -- The installation process is now complete. |
142 | | - |
143 | | -### Development |
144 | | - |
145 | | -- To start developing, navigate to the remote extensions tab. Hover over the frontend or backend container and click the folder icon. |
146 | | - |
147 | | - |
148 | | -- Note, for the backend, you may need to start the database container first. To do so, right click on the database container and click `Start Container`. |
149 | | - |
150 | | - |
151 | | - |
152 | | -## Writing documentations |
153 | | - |
154 | | -We will be using MkDocs to generate the documentations for this project. MkDocs is a documentation generator that is based on Markdown. |
155 | | - |
156 | | -### Using MkDocs |
157 | | - |
158 | | -Quickstart guide in progress |
159 | | - |
160 | | -## Development workflow |
161 | | - |
162 | | -1. Decide as a team the issue/s you want to work on. |
163 | | -2. Assign yourselves to the relevant issue on GitHub. |
164 | | -3. A branch corresponding to the issue should be created (unless it is a point 5 issue). |
165 | | -4. checkout the branch corresponding to the issue. It should be in the format of `i<issue number>-<issue_name>` |
166 | | -5. Work on your changes. |
167 | | -6. Make commits and push them to the issue branch. |
168 | | -7. Open a pull request on GitHub. |
169 | | -8. Await for code reviews. |
170 | | -9. Your feature is merged! |
171 | | -10. Delete your local branch with `git branch -d <branch_name>`. |
| 9 | +## Documentation can be accessed from [here](https://elucidate-project-documentation.readthedocs.io/en/latest/) |
0 commit comments