Skip to content

bastien-pruvost/openshare

Repository files navigation

Logo

Openshare

Openshare is a website for sharing open source projects with the community.

See the design on Figma

Database and routing schemas are located in ./ressources, you can open these schemas with excalidraw.

Features

  • Credentials and Github authentication

Roadmap

  • Add authentication with next-auth
  • Finish the structure schema of the database
  • Finish the structure schema of the routing
  • Finish the model on Figma
  • Add light & dark modes using next-themes
  • Signup and Signin pages
  • Home page (with all projects)
  • Project page
  • Profile page

Tech Stack

Client:

  • Typescript
  • React
  • Next.js
  • Scss modules

Server:

  • Next.js

Tests:

  • Vitest

Database:

  • MariaDB (SQL)

Run locally

  1. Clone the project:
  git clone https://github.com/bastien-pruvost/openshare.git
  1. Go to the project directory:
  cd openshare
  1. Copy .env.example to .env and update environment variables
  cp .env.example .env
  1. Install dependencies:
  pnpm install
  # or
  yarn install
  # or
  npm install
  1. Run the development server:
  pnpm dev
  # or
  yarn dev
  # or
  npm run dev

Open http://localhost:3000 with your browser to see the result.

API Routes can be accessed on http://localhost:3000/api

Running tests

To run tests, run the following command:

  pnpm test
  # or
  yarn test
  # or
  npm run test

Build project

To build the project for production usage, run the following command:

  pnpm build
  # or
  yarn build
  # or
  npm run build

It will create a .next folder in root folder with all static files.

Start project in production

To start the app in production, make sure you have built the project with the build command from the previous section, then run the following command:

  pnpm start
  # or
  yarn start
  # or
  npm start

Routing

This project use Next.js 13 App Router built on top of React Server Components.

Client Routes are located in the folder src/app.

API Routes are located in the folder src/app/api.

All files named router.ts in the API directory are treated as API routes instead of React pages.

Report bug / Support

To report a bug or get help open an issue.

Suggestions

If you have any suggestion, feel free to open an issue with the tag "enhancement"

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and open a pull request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Code your feature
  4. Commit your changes (git commit -m 'feat: add amazing feature')
  5. Push to the branch (git push origin feature/my-feature)
  6. Open a pull request

You can also simply open an issue with the tag "enhancement".

Don't forget to give the project a star! Thanks again!

License

Distributed under the MIT License.

See LICENSE file for more information.

About

Share open source projects with the community.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published