The open-source Resource Manager For Students.
Learn more »
·
Website
·
Issues
CourseSync: Organize, Share, Learn. A collaborative platform for students to manage and exchange study materials seamlessly.
To get a local copy up and running, please follow these simple steps.
Here is what you need to be able to run Cal.com.
- Node.js (Version: >=18.x)
- PostgreSQL (Version: >=13.x)
- NPM (Version: >=7.x)
If you want to enable any of the available integrations, you may want to obtain additional credentials for each one. More details on this can be found below under the integrations section.
-
Clone the repo into a public GitHub repository (or fork https://github.com/DeepanshuMishraa/courseSync)
git clone https://github.com/DeepanshuMishraa/courseSync
If you are on Windows, run the following command on
gitbashwith admin privileges:
>git clone -c core.symlinks=true https://github.com/DeepanshuMishraa/courseSync
> This will ensure that symlinks are created correctly. -
Go to the project folder
cd courseSync -
Install packages with npm
npm install
-
Set up your
.envfile- Duplicate
.env.exampleto.env - Use
openssl rand -base64 32to generate a key and add it underNEXTAUTH_SECRETin the.envfile.
- Duplicate
-
Configure environment variables in the
.envfile. Replace<user>,<pass>,<db-host>, and<db-port>with their applicable valuesDATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>'If you don't know how to configure the DATABASE_URL, then follow the steps here to create a quick local DB
-
Download and install postgres in your local (if you don't have it already) or you can visit(https://neon.tech) to get a postgres db for an free instance
-
Create your own local db by executing
createDB <DB name> -
Now open your psql shell with the DB you created:
psql -h localhost -U postgres -d <DB name> -
Inside the psql shell execute
\conninfo. And you will get the following info.

-
Now extract all the info and add it to your DATABASE_URL. The url would look something like this
postgresql://postgres:postgres@localhost:5432/Your-DB-Name. The port is configurable and does not have to be 5432.
If you don't want to create a local DB. Then you can also consider using services like railway.app or render.
-
-
Copy and paste your
DATABASE_URLto.env. -
Set up the database using the Prisma schema (found in
packages/prisma/schema.prisma)In a development environment, run:
npx prisma migrate
In a production environment, run:
npx prisma deploy
-
Run (in development mode)
npm run dev
-
Open Prisma Studio to look at or modify the database content:
yarn db-studio
-
Click on the
Usermodel to add a new user record. -
Fill out the fields
email,username,password, and setmetadatato empty{}(remembering to encrypt your password with BCrypt) and clickSave 1 Recordto create your first user.New users are set on a
TRIALplan by default. You might want to adjust this behavior to your needs in thepackages/prisma/schema.prismafile. -
Open a browser to http://localhost:3000 and login with your just created, first user.
-
Pull the current version:
git pull
-
Check if dependencies got added/updated/removed
npm install
-
Apply database migrations by running one of the following commands:
In a development environment, run:
npx prisma migrate
(This can clear your development database in some cases)
In a production environment, run:
npx prisma deploy
-
Check for
.envvariables changesnpm predev
-
Start the server. In a development environment, just do:
npm run dev
For a production build, run for example:
npm build npm start
-
Enjoy the new version.
you can use vercel to deploy this application. make sure to add the environment variables in the vercel dashboard.
Special thanks to these amazing projects which help power CourseSync:
