gbowne1 / reactsocialnetwork

Social Media website/app made with React 18 & MUI v5
GNU General Public License v3.0
35 stars 59 forks source link

[feature]: Create more ideal Developer and User documentation #238

Open gbowne1 opened 1 year ago

gbowne1 commented 1 year ago

Is your feature request related to a problem? Please describe.

We have very minimal developer and no user documentation. Not that this is a good or bad thing, just needs improvement, especially now that we are including languages in order to be more inclusive and reduce barrier to entry.

I am not an expert on writing documentation for a full stack project like this, especially for a social media application.

Ideally this issue should go to someone who is good at knowing what documentation we should provide both users and developers.

Describe the solution you would like

Developer Documentation should include:

Project Structure and Setup

A clear description of the project structure and how to set up the project locally. This can include instructions on setting up the frontend, backend, and database connections.

A list of dependencies and their versions, as well as any additional tools or libraries used in the project. This can be found in the package.json file

Frontend

A description of the frontend framework (React) and any custom components or libraries used.

Guidelines on how to create and manage components, as well as any reusable UI elements and styles.

Backend

A description of the backend framework (Express) and any custom middleware or libraries used.

Guidelines on how to create and manage routes, controllers, and models, as well as any database schema and validation rules.

Database

A description of the database used (SQLite) and any custom schema or data models.

Guidelines on how to perform CRUD operations, handle errors, and work with indexes. [f

Deployment

Instructions on deploying the application to a hosting platform, such as Heroku or Netlify.

Guidelines on managing environment variables and separating development and production settings.

Testing and Debugging

Information on testing methodologies, such as unit testing, integration testing, and end-to-end testing. [

Guidelines on how to set up testing tools, such as Jest, React Testing Library, Cypress and Mocha, and how to write and organize test cases.

API Documentation

If the application exposes APIs, provide documentation on the available endpoints, request methods, expected responses, and any authentication or authorization requirements.

Code of Conduct and Community Guidelines

Include a section on the project's code of conduct and community guidelines to ensure a positive and inclusive contribution environment.

By including these sections in the developer documentation, We can provide a comprehensive and informative guide for anyone working on the project, ensuring a clear understanding of the application's structure, functionality, and best practices.

Describe the alternatives you have tried

N/A

Additional context

No response

gbowne1 commented 1 year ago

@manuel12 @pawel975 @akshayamadhuri we have Github Wiki available to is as a secondary location for docs

We can eventually move the docs we have to the Wiki page and just link on the readme and the Contributing doc.

Quite possible we will end up with pretty extensive docs in the end. I also think the translations will help reduce barriers to entry. Just has to be updated using some method or find a docs maintainer in our community

akshayamadhuri commented 1 year ago

@gbowne1 ok it's a good idea

gbowne1 commented 1 year ago

@manuel12 @pawel975 @balajik do you think we have done enough of this issue that we can close this issue?

manuel12 commented 1 year ago

@gbowne1 One thing that we do need is a test documentation where all current tests are listed including:

I've done such documentation in the past for my own projects so I will create something similar here.

gbowne1 commented 1 year ago

Great, thanks! :-) @manuel12